词条 | 超级素数 |
释义 | 一个素数,依次从最高位去掉一位,两位……若得到的都是素数,且各数字不为0,则称为超级素数。 简单C语言算法: /*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; } } |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。