首页 > 其他 > 详细

习题3

时间:2017-09-11 00:23:15      阅读:316      评论:0      收藏:0      [点我收藏+]

题目如下

假设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);
    }

结果

技术分享

习题3

原文:http://www.cnblogs.com/FrankLiner/p/7502896.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!