原题链接:蓝桥杯算法提高VIP-勾股数
解题思路: 这个题目是很简单的,勾股定理是a平分加b平分等于c平分的,所以要有三个for循环,并且a<b,b<c,所以桑for循环个初始值要比之前的要小,这样就节省了很多不必要的循环
注意事项:
参考代码:
import java.util.Scanner; public class gogushu { public static void main(String[] args) { //第一个控制for循环的a for (int a = 3; a < 1000; a++) { //第二个控制for循环的b for (int b = a; b < 1000; b++) { //第一个控制for循环的c for (int c = b; c < 1000; c++) { //因为我们之前的初始值,a是从3开始,而b的初始值位b=a,而c的初始值从c=b,这样的话,已经比较了abc的大小而且不用考虑0的情况;而且所需要的时间也快点; if ((a*a+b*b==c*c)&&(a+b+c<=1000)) System.out.println(a + " " + b + " " + c); } } } } }
0.0分
5 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复