下面关于完数的哪里不对,运行没有结果

来源:7-1 编程练习

BonnieLLLL

2017-04-04 19:45

58e38767000105fb08641152.jpg
求解答

写回答 关注

1回答

  • Gir非碼農
    2017-04-05 00:02:23
    	public static void main(String[] args) {
    		int i,a,b=0;
    		for(i=2;i<1000;i++){
    			for(a=1;a<i;a++){
    				if(i%a==0){
    					b=a+b;
    				}
    			}
    			if(i==b){
    				System.out.println(i);
    			}
    			b=0;
    		}

    这个是我做的。唯一不同的就是12行,将b重置为0

    可以这样理解你的意思,b是作为i的真因子a的和。那么经过一轮,b不是应该重新从0开始吗?

    在你的代码里,之所以没有反应是因为一直没有相等的情况,所以不输出。

    我这个的结果你看一下~

    http://img.mukewang.com/58e3c3870001340405140507.jpg


Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1167352 学习 · 18630 问题

查看课程

相似问题