永发信息网

编程素数问题

答案:1  悬赏:20  手机版
解决时间 2021-07-30 17:30

请输入一个大于2且不大于200的整数,判断该数是否为偶数,如果是偶数,将该偶数分解为两个素数之和。如果是奇数,判断该数是否为素数,如果是素数,判断该素数是否为回文素数,并找出该数的孪生素数。

“回文素数”是指一个数正读和反读都一样的素数,例如:11、121;

“孪生素数”是指一个素数与其相差为2的数也是素数,例如:3和5、5和7等。

最佳答案

前几天刚好也有同学问了这道题,以下程序在VC中编译执行通过。


#include "stdio.h"



#include "math.h"
#define num 100
bool jiou(int n) //判断奇偶数
{
bool k;
if(n%2) k=true;
else k=false;
return k;


}


int sushu(int n) //判断素数
{
if(n<=1) return 0;
int j,k=0,temp=sqrt(n);
for(j=2;j<=temp;j++)
{
if((n%j)==0) break;


}
if(j>temp) return 1;
else return 0;



}
int huishu(int n) //回文素数
{
int temp=n,b=0,i, k=0;
for(i=0;n>0;n/=10,i++)
{b=(b*10)+n%10;}
if(b==temp) k=1;
return k;
}


void fengjie(int n) //偶数分解成两个素数
{
int i;
for(i=2;i<n;i++)
{
if(sushu(i)&&sushu(n-i))
{
printf("%d=%d+%d\n",n,i,n-i);
}
}


}



void main()
{
int n;
printf("请输入一个大于2且小于200的数:\n");
scanf("%d",&n);
if(n<2||n>200)return ;
int a,b;
a=n+2;
b=n-2;
if(jiou(n))
{
if(sushu(n))
{
printf("这个数为素数,");
if(huishu(n))
{
printf("回文,");
}
else printf("非回文,");
if(sushu(a)||sushu(b))
{
printf("有孪生素数:");
if(sushu(a))printf("%d ",a);
if(sushu(b))printf("%d",b);
printf ("\n");
}
else printf("无孪生素数。");


}
else printf("此数不是素数。");


}
else fengjie(n);
}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请问一下大家,我家里的电脑以前有个做图的软
为什么我不能进抢车位?
假如你有十万块钱,你该怎么去赚钱?
出太阳也会风湿吗?
地下誠那个角色比较好
大祥区邵阳西门子地址有谁知道?有点事想过去
在电路中,有两根电阻不同的导线A1和A2,R1>R2
现今短线什么股比较好
工程造价 》试论建筑市场的价格竞争
用什么方法打字最快了
为什么DNF可以这样摆摊
描写雨天心情的诗词,天秤座 优雅走过下雨天中
祥符区开封懿品德北京烤鸭在什么地方啊,我要
0x734028bc指令引用的0x000000c0内
為什麼沒有了?
推荐资讯
关于希望的商标怎么设计
无限试驾怎样可以听歌?
什么手机好aaa
51新炫舞里,我的任务得了WOW判定,可是任务
fifaonline2中如何截卡?
吃什么能变高?
南乐县濮阳惠达卫浴(昌州路)哪位知道具体地址
请问oh,my bing bing want you say you on my
纳尼在曼联的命运将是怎样的?
岳阳楼区岳阳天正电脑城在什么地方啊,我要过
关于梅妃的生平
QQ上网聊天
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?