参考代码如下:
#include<stdio.h>
#include<math.h>
int isPrime(int x)
{
int i;
if(x<=1)
return 0;
for(i=2;i<x;++i)
if(x%i==0) return 0;
return 1;
}
int main()
{
int p[7]={2,3,5,7,11,13,17};
//17以内的所有素数
int i,t,n=0;
for(i=0;i<7;++i){
t=(int)pow(2,p[i])-1;
if(t<100000&&isPrime(t)){
printf("%d ",t);
n++;
}
}
printf("\n共有%d个梅森素数",n);
return 0;
}
//注2^17-1已经大于10 0000
追答![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/4a36acaf2edda3ccf8456a940ce93901203f92e5?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)