| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 392 人关注过本帖
标题:请教一个入门类的简单问题
只看楼主 加入收藏
shiryaku
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-11-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
请教一个入门类的简单问题
刚开始学,问题可能有点简单。。。
我想抽取20以内组成三角形的边长,下面是书上的代码
public class test5{
    public static void main(String[] args){
        int a,b,c,n;
        n=20;
        System.out.println("a\tb\tc");
        for(a=1;a<=n;a++){
            for(b=1;b<=a;b++){
                for(c=b;c<=a;c++){
                    if (a*a==b*b+c*c)
                    System.out.println(a+"\t"+b+"\t"+c);
                }
            }
        }
    }   
}
我想问问,第3个for句处,为什么要写成c=b,就可以把重复的都去掉,我之前自己做的时候写的是b=1,结果出来一大堆重复的比如543和534。。。
这是为什么?
c=b是什么意思?
还望告知~~~
搜索更多相关主题的帖子: public 三角形 
2015-11-04 06:01
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
收藏
得分:20 
c=b可以保证c>=b,5 4 3中c=3,b=4,这种组合会被过滤掉,后面同理
如果c从1开始循环
5 4 3
10 8 6
...
都是满足条件的


2015-11-04 12:21
shiryaku
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-11-4
收藏
得分:0 
原来如此,明白了。
多谢!!!
2015-11-04 13:21
快速回复:请教一个入门类的简单问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034447 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved