利用Java寻找完美数
利用Java寻找完美数
今天在笔试的时候遇到一个求完美数(至于什么叫完美数,可以百度)的题,当时手写代码没写完,下来又想了一下,在电脑上完成了此题目,记录一下。
下面上代码:
import java.util.ArrayList;
import java.util.List;public class Demo {ArrayList<Integer> list =new ArrayList();public List<Integer> fn(){for(int i = 0; i<10000;i++){for(int n = 2;n<i;n++){if(f((int) Math.pow(2,n)-1)){if(i ==Math.pow(2,n-1)*(Math.pow(2,n)-1)) {list.add(i);System.out.println(i);}}}}return list;}//判断是否为质数public boolean f(int a){boolean b = false;for(int i =2;i<a;i++){if(a%i == 0){b = false;break;}else {b = true;}}return b;}public static void main(String[] args) {Demo demo = new Demo();demo.fn();}
}
程序运行结果如下:
但是此代码只是简单的实现了求出前4个完美数,如果要求第五个数33550336,则需要花费相当长的时间,所以代码的运行效率极低,还需要进一步优化与改进。
并且笔试时题目是要求2^63-1之前的所有完美数,照目前代码的运行情况,看来任务是还没完成啊!
利用Java寻找完美数相关推荐
- Python实现寻找完美数问题
寻找完美数 何为完美数? 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.如果一个数恰好等于它 ...
- python 寻找水仙花、寻找“完美数”、 百钱百鸡问题、斐波那契数列、craps掷骰子游戏
# coding-utf-8 # 寻找水仙花数 import mathfor num in range(100, 1000):num = str(num)a = int(num[0])b = int( ...
- 7-5 寻找完美数* (30 分)
7-5 寻找完美数* (30 分) 所有真因子之和小于其本身的数称为亏数.如:4 的真因子 1.2 之和为 3,小于 4,是亏数. 所有真因子之和大于其本身的数称为盈数.如:12 的真因子 1.2.3 ...
- python 寻找完美数_寻找完美的鼠标
python 寻找完美数 I have a small problem. I'm always looking for great computer mice. I've tried a number ...
- 7-37 寻找完美数* (30分)
所有真因子之和小于其本身的数称为亏数.如:4 的真因子 1.2 之和为 3,小于 4,是亏数. 所有真因子之和大于其本身的数称为盈数.如:12 的真因子 1.2.3.4.6 之和为 16,大于 12, ...
- Java 寻找幸运数
题目描述 定义一个方法static int ndigit(int n,int k),用来判断某个整数n中数字k(0~9)的个数. 编写主方法,其中输入一个整数m,后面跟m个整数,然后调用方法ndigi ...
- 4.2寻找水仙花数(阿姆斯特朗数)、完美数,生成斐波那契数列,Craps赌博游戏
寻找阿姆斯特朗数 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数.自幂数.阿姆斯壮数或阿姆斯 ...
- C++ 寻找完数 | Java 完数
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.如果一个数恰好等于它的因子之和,则称该数为&q ...
- 【每周一算】完美数,java获取
以下来自百度百科: 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.如果一个数恰好等于它的因子 ...
- java calendar日期计算_利用Java中Calendar计算两个日期之间的天数和周数
前言 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每 ...
最新文章
- 华为机考HJ2计算字符个数
- Python爬虫 解析库的使用
- no router configuration contained in extension component metadata
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]45.描述一些对抗RSA侧信道攻击的防御方法
- VMware workstation 15.5.2及镜像文件下载
- LeetCode题库5:最长回文子串——JavaScript解答
- 嵌入式单片机STM32元器件晶振选型参考
- 牛逼! IDEA 2020 要本土化,真的是全中文了!中国开发者话语权越来越大了
- [VC]socket含义
- linux刷新本地dns命令_如何刷新本地DNS缓存
- element-ui MessageBox 弹框判断确认和取消
- TX2与PCA9685驱动舵机(RACECAR)
- MongoSocketOpenException: Exception opening socket
- html+圆角六边形,CSS3 圆角六边形
- 使用ping检测MTU值
- docker内存满了
- 淘宝店铺怎么发逛逛?发逛逛有什么要求?
- outlook邮箱邮件大小限制_Office Outlook 2010、2013附件大小超过了允许的范围限制三种解决方法图解...
- python制作一个密码簿_[python]制作密码薄,完成增删改查和文件存储功能。
- 28所示范性微电子院校占地面积排名,中山大学第一!