Java完数问题
Posted 算法与编程之美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java完数问题相关的知识,希望对你有一定的参考价值。
问题
存在这样的一个数,如果该数的值等于它的因子之和(不包括它本身),该数就称为“特殊数”。例如,6的因子为1、2、3,并且6=1+2+3,因此6就是“特殊数”;28的因子为1、2、4、7、14,并且 28=1+2+4+7+14,所以28是“特殊数”。找出1000以内的所有完数。
方法
public class Complete_number
public static void main(String [] args)
for(int i = 1;i<=1000;i++)
int num = 0;
for(int j = 1;j<i;j++)
if(i%j == 0)
num += j;
if(i == num)
System.out.println(i+"是完数");
结语
针对完数问题,我们采用循环的方式来进行解决,先找出这个数的全部因子,然后加起来和这个数比较,如果相等即证明这个数是完数。注意别把这个数本身算进去。
以上是关于Java完数问题的主要内容,如果未能解决你的问题,请参考以下文章