Problem09 求完数
[学习笔记]
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。
分析:例如6=1+2+3.
编程找出1000以内的所有完数。
假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。
1 public class Problem09 {
2 //题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。
3 //例如6=1+2+3.
4 //编程找出1000以内的所有完数。
5 //假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。
6 public static void main(String args[]) {
7 for(int i=1; i<=1000; i++) {
8 int sum = 0;
9 for(int j=1; j<i; j++) {
10 if(i%j==0) {
11 //如果可以整除,说明j是i的因子
12 sum += j;
13 }
14 }
15 if(sum == i) {
16 //若一个数的所有因子相加等于它本身,说明它是完数
17 System.out.println(sum);
18 }
19 }
20 }
21 }
输出结果:
1 6 2 28 3 496
本文转载自原文:https://www.cnblogs.com/nemowang1996/p/10415506.html


浙公网安备 33010602011771号