对“求一定范围内的完数“的理解:

题目:求1000以内所有完数并打印输出;

理解:(1)完数给出的定义为,若一个数等于其所有因子之和,那么这个数就是一个完数。

                  /*这里的完数不是完全的因子之和,要除了它本身以外的因子(不然所有“因子”加起来,会比原来还要大,那就不存在完数了。)。例如6就是一个完数,证明为1+2+3=6,除了本身以外的因子之和为这个数。

代码操作:

package Practice;

//练习题:求1000范围内的完数
//完数:如果一个属等于其所有因子之和,我们就称这个数为:
//"完数"
public class 求一定范围内的完数并求和 {
public static void main(String[] args) {
   
 
   for(int i=1;i<=1000;i++) {   //(2)外循环每执行一次,内循环执行完一圈;       
        int sum=0;
    for(int j=1;j<=i/2;j++) {
 if(i%j==0) {                   //(3)在if里筛选出的j为因子,与i本身的除数为0,求和。
     sum=sum+j;
    }
 }
    if(sum==i) {
  System.out.println("1000范围内的完数有:"+i);   //(4) 筛选出的i为完数     
          }
       }
   
   }
}

代码结果:

对“求一定范围内的完数“的理解:_第1张图片

 

 

参考:Java中常见的30道例题(附代码)

          ——第十题:求在指定范围内的完数并打印输出

你可能感兴趣的:(java,jvm,开发语言)