求c语言大佬解答

请编程输出3- 100000以内的全部梅森素数,并统计出梅森素数的个数。
(梅森素数是指值为2P-1 的正整数,记为Mp,其中指数p是素数。
若Mp为素数,则称Mp为梅森素数。
例如: 7=23-1, 3和7均为素数,因此7是梅森素数)

参考代码如下:
#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追答

温馨提示:答案为网友推荐,仅供参考