找 完全数
来源:互联网 发布:4g卡不能用3g网络么? 编辑:程序博客网 时间:2024/05/16 18:18
import java.util.LinkedList;/** * 一个数如果恰好等于它的所有可能因子之和, 这个数就称为"完数"。 * 例如6=1+2+3. * 编程 找出1000以内的所有完数 * * @author pear * */public class PerfectNumber { private final static PerfectNumber p = new PerfectNumber(); static int currentNum = 1; public static void main(String[] args) { PerfectNumber p = getInstance(); int n=1; while(n<1000){ n = p.getNext(); System.out.println(n); } } private PerfectNumber(){ } public static PerfectNumber getInstance(){ return p; } /** * 计算下一个完数 * @param num 指定数字 * @return 返回指定数字后最近一个完数 */ public int getNext(int num){ num++; while(!isPerfect(num)){ num++; } currentNum = num; return num; } public int getNext(){ return getNext(currentNum); } private boolean isPerfect(final int num){ int number = num; LinkedList<Integer> factor = new LinkedList<Integer>(); for(int i=1; i<=number/2; i++){ if(number%i==0) factor.add(i); } int sum =0; for(int x:factor){ sum += x; } return sum==num; }}
学习中,顺带练习一下设计模式
0 0
- 找 完全数
- 找质数,分解质因数,找完全数
- python之漂亮令人发指呀:找完全数
- 找数
- 找数
- 找数
- 找数
- 找数
- Java基本功练习二(显示日历,石头剪子布游戏,找完全数等)
- vijos - P1447开关灯泡 (大数模板 + 找规律 + 完全数 + python)
- 完全数
- 完全数
- 完全数
- 完全数
- 完全数
- 完全数
- 完全数
- 完全数
- 287657790308289518
- poj题目分类 [转载于=小媛在努力原创]
- 《flask web开发》二——蓝本
- JAVA菜鸟入门(13) outer class与inner class的之间能互相使用field或者method吗?
- 【C#】 25. 根据Option组成的投资组合的payoff,识别组成成分
- 找 完全数
- Win7 卸载MySQL
- Xsolla与Nexon 进行欧洲市场战略合作
- Maven与Ant使用reportNG代替testng生成的报表
- 【Coursera】Algorithms, Part I 算法C++实现:Weighted Quick Union
- java EE JSP运行出现错误
- 人生第一次辞职是啥感觉?——北漂18年(7)
- 【Coursera】Algorithms, Part I 算法C++实现:Weighted Quick Union+path compression
- jquery闲杂笔记