超级素数

王朝百科·作者佚名  2010-03-06  
宽屏版  字体: |||超大  

一个素数,依次从最高位去掉一位,两位……若得到的都是素数,且各数字不为0,则称为超级素数。

简单C语言算法:

/*TC2.0调试成功*/

#include "stdio.h"

#include "math.h"

int prime(int i){/*判断是否为素数*/

int j;

if(i==1) return 0;

for(j=2;j<=sqrt(i);j++)

if(i%j==0) return 0;

return 1;

}

int IsSuperPrime(int i){/*判断此数是否为超级素数函数*/

int j;

if(prime(i)==1){

do{

i=i/10;

if(prime(i)==0) return 0;

}

while(i>=10);

return 1;

}

else return 0;

}

void main()/*求100~9999之间所有的超级素数个数,和,及最大值*/

{

int i,spn=0,spm;

long sps=0;

for(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);

getch();

}

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有