首页 > 试题广场 >

题目标题: 超级素数

[问答题]

题目标题:

超级素数

题目描述:

一个素数,依次从低位去掉一位,二位,……,若所得的各数仍都是素数,则称超级素数。例如:7331是个4位超级素数,因为7737337331均为素数. 试求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;
}

发表于 2017-05-17 04:37:47 回复(0)