求1000以内的完数。


/*
     要求:找出1000以内所有的完数,一个数如果恰好等于它的因子之和,这个数就是完数,例如:6=1+2+3
     思路:    1、用for循环找到1000以内的数
                    2、让这个数对1和它本身以外的数求余,求余等于0,这个数就是它的因数
                    3、让这些因数相加等于它,这个数就是完数,1000以内的完数是6、28、496
*/
import java.util.Scanner;
public class Study008{
    public static void main(String[] args){               //i从2开始到1000(因为1不是完数,1是所有数的因数)
        for (int i = 2 ;i <= 1000 ;i++ ){
            int s = 0;                                                  //s做累加,因子加起来等于这个数,此时这就是完数
            for (int j = 1 ;j < i /2 ;j++ ){
                if (i % j == 0){
                    s += j;
                }
            }
            if (s == i){
                System.out.println(s + "是完数");                   //完数结果出来啦   6、28、496
            }
        }
    }
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM