题目标题:
超级素数
题目描述:
一个素数,依次从低位去掉一位,二位,……,若所得的各数仍都是素数,则称超级素数。例如:7331是个4位超级素数,因为7,73,733,7331均为素数. 试求1000~n之内(1000
输入描述:
输入一个整数n(n<9999)
输出描述:
输出三个整数,分别为超级素数的个数,所有超级素数之和,最大的超级素数;
样式输入:
9999
样式输出:
16
68910
7393
#include<stdio.h>
#include<math.h>
int IsPrime(int number)
{
if(number==1)
{
return 0;
}
int j;
for(j=2; j<=sqrt(number); j++)
{
if(number%j==0)
{
return 0;
}
}
return 1;
}
int IsSuperPrime(int number)
{
if(IsPrime(number)==1)
{
do
{
number=number/10;
if(IsPrime(number)==0)
{
return 0;
}
}
while(number>=10);
return 1;
}
else
{
return 0;
}
}
int main()
{
int sum=0,max=0,count=0,n,i;
scanf("%d",&n);
for(i=1001;i<=n;i+=2)
{
if(IsSuperPrime(i)==1)
{
sum+=i;
count++;
max=i;
}
}
printf("%d\n%d\n%d",count,sum,max);
return 0;
}