题目如下
假设a、b、c是三角形的三条边,当三条边符合勾股定理时,即,a2+b2=c2 ,为直角三角形。若a、b、c均为小于等于50的整数,求能够组成直角三角形的所有组合。请显示边的各种可能组合情况,显示总的组合数量。注意:
(a=3, b=4, c=5)
(a=4, b=3, c=5)
(a=5, b=4, c=3)
等情况只能算1种组合。(参考答案:20种)
定义num计数
int num=0;
由于求三角形的三条边,所以此处使用三层for循环
for(int a=1;a<=50;a++){ for(int b=1;b<=50;b++){ for(int c=1;c<=50;c++){ } } }
题目要求求能够组成直角三角形的所有组合
定义if条件
if(a*a+b*b==c*c)
并且题目规定
(a=3, b=4, c=5)
(a=4, b=3, c=5)
(a=5, b=4, c=3)
等情况只能算1种组合。
所以if条件增加
if(a*a+b*b==c*c&&a<b)
输出组合情况,num计数
if(a*a+b*b==c*c&&a<b){ System.out.println("a="+a+" "+"b="+b+" "+"c="+c+" "); num++; }
最后输出显示总的组合数量
public static void main(String[] args) { int num=0; for(int a=1;a<=50;a++){ for(int b=1;b<=50;b++){ for(int c=1;c<=50;c++){ if(a*a+b*b==c*c&&a<b){ System.out.println("a="+a+" "+"b="+b+" "+"c="+c+" "); num++; } } } } System.out.println(num); }
结果
原文:http://www.cnblogs.com/FrankLiner/p/7502896.html