编写自定义函数prime(int x)判断x是否为素数。利用此函数编写程序分别找出1到5000中满足下列条件的数x。
(1)x是素数。(2)x的各位数字及本身都是素数。(2)x是素数,从个位开始依次去掉一位数字的数仍是素数。...
(1)x是素数。
(2)x的各位数字及本身都是素数。
(2)x是素数,从个位开始依次去掉一位数字的数仍是素数。 展开
(2)x的各位数字及本身都是素数。
(2)x是素数,从个位开始依次去掉一位数字的数仍是素数。 展开
1个回答
展开全部
#include<stdio.h>
#include<math.h>
int prime(int x)
{ int i;
if(x<2) return 0;
if(x==2) return 1;
for(i=2;i<=sqrt(x);i++)
if(x % i==0) return 0;
return 1;
}
void main()
{ int i;
for(i=2;i<5000;i++)
{if(prime(i))
{ printf("%d是素数\n",i);
if(i>10&&i<100 && prime(i%10)&&prime(i/10))
printf("并且是各位数字全是素数的素数\n");
if(i>100&&i<1000&&prime(i % 10)&&prime(i/10%10)&&prime(i/100))
{ printf("并且是各位数字全是素数的素数\n");
if(prime(i/10)&&prime(i%100)&&prime(i/100*10+i%10))
printf("并且任意去掉一个数字后仍是素数\n");
}
if(i>1000&&i<5000&&prime(i% 10)&&prime(i/10%10)&&prime(i/100%10)&&prime(i/1000))
{ printf("并且是各位数字全是素数的素数\n");
if(prime(i/10)&&prime(i%1000)&&prime(i/100*10+i%10)&&prime(i/1000*100+i%100))
printf("并且任意去掉一个数字后仍是素数\n");
}
}
}
}
#include<math.h>
int prime(int x)
{ int i;
if(x<2) return 0;
if(x==2) return 1;
for(i=2;i<=sqrt(x);i++)
if(x % i==0) return 0;
return 1;
}
void main()
{ int i;
for(i=2;i<5000;i++)
{if(prime(i))
{ printf("%d是素数\n",i);
if(i>10&&i<100 && prime(i%10)&&prime(i/10))
printf("并且是各位数字全是素数的素数\n");
if(i>100&&i<1000&&prime(i % 10)&&prime(i/10%10)&&prime(i/100))
{ printf("并且是各位数字全是素数的素数\n");
if(prime(i/10)&&prime(i%100)&&prime(i/100*10+i%10))
printf("并且任意去掉一个数字后仍是素数\n");
}
if(i>1000&&i<5000&&prime(i% 10)&&prime(i/10%10)&&prime(i/100%10)&&prime(i/1000))
{ printf("并且是各位数字全是素数的素数\n");
if(prime(i/10)&&prime(i%1000)&&prime(i/100*10+i%10)&&prime(i/1000*100+i%100))
printf("并且任意去掉一个数字后仍是素数\n");
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询