大家好,想请教一下大家,我想求1000以内的完全数,但当我的sum这样定义时,却没有结果,为什么??求解

刘大铿 2018-11-09 03:26:42
import java.util.*;
public class day{

public static void main(String[] arg){
int sum=0;
int i;
for (i=1;i<1000;i++){

for (int j = 1; j < i; j++) {
if (i % j == 0 && j != 0) {
sum+= j;
}
}

if (i == sum) {
System.out.println(" " + i);
}

}

}
}
...全文
71 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘大铿 2018-11-11
  • 打赏
  • 举报
回复
谢谢大家了!
nayi_224 2018-11-09
  • 打赏
  • 举报
回复
sum没清零
    public static void main(String[] arg){
        int sum=0;
        int i;
        for (i=1; i<1000; i++){

            for (int j = 1; j < i; j++) {
                if (i % j == 0 && j != 0) {
                    sum+= j;
                }
            }

            if (i == sum) {
                System.out.println(" " + i);
            }
            
            sum = 0;
        }

    }
十八道胡同 2018-11-09
  • 打赏
  • 举报
回复
for (i=1;i<1000;i++){
在这里把sum初始化为0
菜鸟一朵朵 2018-11-09
  • 打赏
  • 举报
回复
越往后加sum越大不可能相等的 i=4的时候 sum=5 之后i+1的时候sum肯定加1因为任何正整数除1都余0,sum之后只会越来越大。。。。。。

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧