Java50道经典习题-程序9 求完数

Posted parkour1026

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java50道经典习题-程序9 求完数相关的知识,希望对你有一定的参考价值。

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

 1 public class Prog9 {
 2     public static void main(String[] args) {
 3         int n=1000;
 4         compNumber(n);
 5     }
 6     //求完数
 7     private static void compNumber(int n) {
 8         System.out.println(n+"以内的完数:");
 9         for(int i=1;i<n+1;i++) {
10             int sum=0;
11             for(int j=1;j<i/2+1;j++) {
12                 if((i%j)==0) {
13                     sum+=j;
14                     if(sum==i) {
15                         System.out.print(i+" ");
16                     }    
17                 }
18             }
19         }
20     }
21 }
22 /*运行结果
23 1000以内的完数:
24 6 24 28 496
25 */

 

以上是关于Java50道经典习题-程序9 求完数的主要内容,如果未能解决你的问题,请参考以下文章

Java50道经典习题-程序13 根据条件求数字

Java50道经典习题-程序22 递归求阶乘

Java经典练习题9

Java编程练习题,基础不牢地动山摇!看看着50道你会几道!

Java50道经典习题-程序21 求阶乘

Java基础50道经典练习题(21)——求阶乘