金蝉素数
来源:互联网 发布:金乌玉兔命 知乎 编辑:程序博客网 时间:2024/04/28 23:56
题目:
某古寺的一块石碑上依稀刻有一些神秘的 自然数。
专家研究发现:这些数是由1,3,5,7,9 这5 个奇数字排列组成的5 位素数,且同时去掉它的最高位与最低位数字后的三位数还是素数,同时去掉它的高二位与低二位数字后的一位数还是素数。因此,人们把这些神秘的素数称为 金蝉素数,喻意金蝉脱壳之后仍为美丽的 金蝉。
思路:设置5位数k循环,对每一个k。
(1)除商法检查k是否为素数。
(2)对素数k的中间三位数检查是否为素数。
(3)检查k的每一位是否存在相同的数字。
(4)检查k的五位数字是否存在偶数,其最中间百位数是否为1或9
设置标志量t,赋初值为0,若有一部检查未通过,则t=1.若t=0,则k为金蝉素数。
源代码:
public class Jinchan {public static void main(String args[]){int[] array = new int[6];int t;int a=0;int j,i;System.out.println("金蝉素数如下:");for(int k=10001;k<99999;k+=2){t=0;for(j=3;j<Math.sqrt(k);j+=2){if(k%j==0){t=1;break;}}if(t==0){a=(k/10)%1000; //取出中间三位数for(j=2;j<Math.sqrt(a);j+=2){if(a%j==0){t=1;break;}}}if(t==0){array[1]=k%10;array[2]=a%10;array[3]=a/100;array[4]=(a/10)%10;array[5]=k/10000;for(i=1;i<=4;i++)for(j=i+1;j<=5;j++)if(array[i]==array[j]){t=1;break;}}if(t==0){for(j=1;j<=5;j++)if(array[j]%2==0||array[3]==1||array[3]==9){t=1;break;}}if(t==0)System.out.print(k+" ");}}}运行图:
金蝉素数如下:13597 53791 79531 91573 95713
0 0
- 趣味素数-金蝉素数-java
- 金蝉素数
- 蓝桥杯+金蝉素数
- 金蝉素数
- 【蓝桥杯】【金蝉素数】
- 历届试题 金蝉素数
- 金蟾素数问题
- 素数
- 素数
- 素数
- 素数
- 素数
- 素数
- 素数
- 素数
- 素数
- 素数
- 素数
- Android官方说明-Activity任务栈
- Bootstrap-查询按钮和重置按钮
- 开源软件汇总
- LINQ用法学习
- ROS_Kinetic_13 ROS数据录制与回放
- 金蝉素数
- 几种常见网络请求方式
- linux学习1 Linux系统介绍和RHEL7.2操作系统的安装
- Big Number
- OPENCV中的Sobel函数
- ThinkPHP(7)——调试
- hdu 4906 状压dp
- Linux中的task_struct
- 不能解析域名(ubuntu)