五十道编程小题目 --- 09 完数 java
2016-08-24 22:05
309 查看
【程序9】
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完
数。
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完
数。
import java.util.ArrayList; import com.sun.tools.apt.Main; public class DivisorAdd { public static void divisorAdd(int n){ ArrayList<Integer> arr = new ArrayList<>(); for(int i=1; i<n; i++){ if( n%i == 0){ arr.add(i); } } int result = 0; StringBuilder sb = new StringBuilder(); for(int i=0; i<arr.size(); i++){ result += arr.get(i); sb.append(arr.get(i) + "+"); } sb.insert(0, n+" = "); if( n == result ){ String s = sb.substring(0,sb.length()-1); System.out.println(s.toString()); } } public static void main(String[] args) { for(int i=1; i<10000; i++){ divisorAdd(i); } } }输出结果:
6 = 1+2+3 28 = 1+2+4+7+14 496 = 1+2+4+8+16+31+62+124+248 8128 = 1+2+4+8+16+32+64+127+254+508+1016+2032+4064
相关文章推荐
- 五十道编程小题目 --- 04 正整数分解质因数 java
- 五十道编程小题目 --- 11 排列与组合(阶乘) java
- 五十道编程小题目 --- 28 八大排序算法 java 之 04堆排序
- 五十道编程小题目 --- 37 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子 java
- 五十道编程小题目 --- 28 八大排序算法 java 之 07归并排序
- 五十道编程小题目 --- 06 最大公约数和最小公倍数 java
- 五十道编程小题目 --- 25 回文数 java
- 五十道编程小题目 --- 28 八大排序算法 java 之 06快速排序
- 五十道编程小题目 --- 28 八大排序算法 java 之 01直接插入排序
- 五十道编程小题目 --- 33 杨辉三角 java
- 五十道编程小题目 --- 08 求s=a+aa+aaa+aaaa+aa...a的值 java
- 五十道编程小题目 --- 20 java
- 五十道编程小题目 --- 13 java
- 五十道编程小题目 --- 28 八大排序算法 java 之 05冒泡排序
- 五十道编程小题目 --- 02 找素数(质数)java
- 五十道编程小题目 --- 10 反弹的小球 java
- 五十道编程小题目 --- 17 猴子吃桃子问题 java
- 五十道编程小题目 --- 19 打印菱形 java
- 五十道编程小题目 --- 29 java
- 五十道编程小题目 --- 30 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 java