C语言实现梅森素数判断:示例程序及代码解析
/*---------------------------------------------------------------------- 【程序设计】
题目:梅森素数是指等于2的整数次幂减1的素数。 例如:7是梅森素数,它等于2的3次方减1。 示例程序为输出100以内的梅森素数,运行结果如样张所示。
注意:请勿改动程序中的其他内容。 ----------------------------------------------------------------------*/ #include <stdio.h> #include <string.h> #include <ctype.h> #include <math.h> int msprime(int m ) { int i = 2,k,p; while ( i <= m && (m%i)) i++;
if(m==i)
{
for(k=1;;k++)
{
p=pow(2,k)-1;
if(p>m)
break;
else if(p==m)
return k;
}
}
return 0;
} int main() { int m,k; for(m=2;m<=100;m++) if (k=msprime(m)) printf('%d=2^%d-1 ',m,k); return 0; }
原文地址: https://www.cveoy.top/t/topic/npO1 著作权归作者所有。请勿转载和采集!