/*---------------------------------------------------------------------- 【程序设计】

题目:梅森素数是指等于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; }

C语言实现梅森素数判断:示例程序及代码解析

原文地址: https://www.cveoy.top/t/topic/npO1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录