/*TC2.0调试成功*/
#include "stdio.h"
#include "math.h" /*判断是否为素数*/
int IsPrime(long number); /*判断此数是否为超级素数函数*/
int IsSuperPrime(long number); /*求100~9999之间所有的超级素数个数,和,及最大值*/ void main()
{ long spn = 0;
long spm = 0;
long sps = 0;
for( long i = 101; i<= 9997; i += 2)
{ if(IsSuperPrime(i)==1)
{ sps += i; spn++ ; spm = i;
}
}
printf("sum=%ld,Total=%d,Max=%d",sps,spn,spm);
getchar(); } /*判断是否为素数*/
int IsPrime(long number)
{ if(number==1) { return 0; }
for(int j=2; j<=sqrt(double(number)); j++)
{ if(number%j==0)
{ return 0;
}
}
return 1;
} /*判断此数是否为超级素数函数*/
int IsSuperPrime(long number)
{
if(IsPrime(number)==1)
{
do{
number=number/10;
if(IsPrime(number)==0)
{ return 0; }
} while(number>=10);
return 1;
}
else { return 0; }
}
#include
#include
#include
int f(int x)
{
int j,m,n;
m=(int)sqrt(x);
for(j=2;j<=m;j++)
{
if(x%j==0)
break;
}
if(j==m+1)
n=x;
else
n=0;
return n;
}
int g(int y)
{
int a,b;
if(y!=0)//这里多了个(
{
for(;y!=0;y=y/10)
{
a=f(y);
if(a==0)
break;
}
if(y==0)
b=1;
else
b=0;
}
else
b=0;
return b;
}
main()
{
int x1,x2,x3,sum=0;
clrscr();//如果这里说 clrscr不认识的话 就改成system("cls");
for(x1=101;x1<=9999;x1=x1+2)
{
x2=f(x1);
x3=g(x2);
if(x3==1)
sum++;
}
printf("The total is %d.",sum);
getch();
}
不懂C,学的C++,不好意思。。