#include
#include
bool isPrime(int n);
void main()
{
int p = 0;
int count = 0;
for(p=1; p<32; p++)
if(isPrime((int)pow(2,p)-1))
{
printf("%d=2^%d-1\n",(int)pow(2,p)-1,p);
count++;
}
printf("一共有%d个。\n",count);
}
bool isPrime(int n)
{
int i;
double a;
if(n < 2)
return false;
a = sqrt(n);
for(i=2; i<=a; i++)
if(n%i == 0)
return false;
return true;
}