超级素数实现算法
来源:互联网 发布:linux备份系统 编辑:程序博客网 时间:2024/05/17 03:14
1.超级素数的概念:一个m位数的素数,从高位到低位一次去掉一个数,仍然都是素数。输入m,输出m为超级素数的总个数并且输出最大m为的超级素数
2.分析:可以从两个方向出发:1>从1位开始找素数,然后一步步加位数,查找素数;2>从m位开始找,然后在去掉最高位,在查找素数。。。 不管是什么方法,我们都发现,超级素数f一定是素数或者f个位数一定是3或者7
3.实现代码:
public class test{ public static void main(String[] args){ test t = new test(); t.fun(); } //实现思想:从低位依次加一位到m位 public void fun(){ Scanner in = new Scanner(System.in); System.out.print("请输入一个m(m>1):"); int m = in.nextInt(); //定义数组保存当前递推位数的前一低位的所有素数的值,保存位double型是因为m大了int会损失精度的 double a[] = new double[20000]; //定义一个辅助数组,用于将此次找到的超级素数保存到a数组中 double b[] = new double[20000]; //定义e数组,表示当前的高位是乘以多少 double e[] = new double[20]; //初始化a数组,也就是保存1位数时的所有超级素数 a[1] = 3; a[2] = 7; //初始化e数组,第一位乘以1,第二位乘以10,依次指数递增 e[1] = 1; //保存当前计算的i位的i-1位时的超级素数的个数,初始化为1位数时的超级素数的个数 int g = 2; //定义辅助变量用于保存当前位数的超级素数的个数,因为g要参与for循环操作 int t = 0; //定义保存真正要获得的两个数据,m位数的超级素数个数s以及最大数d int s = 0; double d = 0; for(int i=2; i<=m; i++){ e[i] = e[i-1] * 10; for(int j=1; j<=9; j++){ for(int k=1; k<=g; k++){ if(issushu(j*e[i]+a[k])){ b[++t] = j*e[j]+a[k]; //如果当前计算的位数已经到m了,就开始记录真正需要获得的数据了 if(i == m){ s++; d = j*e[j]+a[k]; } } } } g = t; for(int c=1; c<=g; c++){ a[c] = b[c]; } } System.out.println(m + "位数的超级素数的总个数为:" + s); System.out.println(m +"位数的超级素数最大值为:" + d); } //判断n是否为素数,如果是则返回true public void issushu(double n){ int h = (int)Math.pow(n,0.5); int z = 1; for(int i=2; i<=h; i++){ if(n % i == 0){ System.out.println(n + "---->" + i); z = 0; break; } } if(z == 1) return true; return false; }}
0 0
- 超级素数实现算法
- 超级素数的改进算法
- 超级素数
- 超级素数
- 超级素数
- 超级素数
- 牛客网[编程题] 超级素数幂(Java实现)
- JAVA求素数算法实现
- 算法---猫扑素数的算法实现
- [算法]猫扑素数的算法实现
- [usaco]超级素数 superprime
- 神秘的超级素数
- 超级素数幂
- 超级素数幂
- 超级素数幂
- 超级素数幂
- 超级素数幂
- P2667 超级素数
- Ubuntu下安装GlusterFS
- cocos2dx jni 互调
- hadoop环境搭建过程及搭建过程遇到的问题及解决的办法
- 数据结构实验之二叉树二:遍历二叉树
- 如何看待Tencent AI 人脸检测结果在FDDB上的逆天表现?
- 超级素数实现算法
- 关于URL地址栏跨域出错问题
- Android Studio常见错误之:Rendering Problems/The following classes could not be instantiated
- OpenCV Python教程(2、图像元素的访问、通道分离与合并)
- 闭包
- tetst
- Windows10搭建Node.js环境
- AndroidStudio中OpenCV环境搭建
- spark的架构思考(一)