java每日一练

来源:互联网 发布:怎么做时间轴java 编辑:程序博客网 时间:2024/06/03 02:45

题目:一个数如果恰好等于它的因子之和,这个数就称为完数,例如:6=1+2+3。编程找出1000以内的所有完数

因子:能整除这个数的数
完数:不包括自身

public class WanNum {    public static void main(String[] args) {        System.out.println("1000以内的完数有:");            //int sum=0;        for(int i=1;i<=1000;i++){            int sum=0;      //开始我把sum放在了for循环外边,之后没有初始化每次的sum,数不符合要求没有输出            for(int j=1;j<i;j++){                if(i%j==0){                    sum += j;                }               }            if(sum == i){                System.out.print(i+" ");            }           }    }}