解题思路: 这个题目是很简单的,勾股定理是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.0分

5 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

万如意 4年前 回复TA
太对了!