超素数就是这样的数,比如2333,2是素数,23是素数,233是素数,2333是素数,找出所有的四位超素数。每行输出六个,数之间空格隔开。
//超素数
#include <stdio.h>
#include <math.h>
int isPrime(int n)
{
int i,k;
k = sqrt(n);
for(i=2;i<=k;i++)
{
if(n%i==0)
break;
}
if(n==1) return 0;
else if(i>k)
return 1;
else
return 0;
}
//2333
int isSuperPrime(int n)
{
int a,b,c,d;
a = n / 1000; //a=2
b = n / 100; //b=23
c = n / 10; //c=233
d = n;
return (isPrime(a) * isPrime(b) * isPrime(c) * isPrime(d));
}
int main()
{
int i,j;
int num[10000];
j=0;
for(i=1000;i<10000;i++)
{
if(isSuperPrime(i) == 1)
num[j++] = i;
//printf("%d\n",i);
}
for(i=0;i<j;i++)
{
if(i%6==5)
printf("%d\n",num[i]);
else
printf("%d ",num[i]);
}
return 0;
}