找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。当p是素数并且Mp也是素数时,称Mp为默森尼数,
例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;而Mp=2^11-1=2047,11是素数,2047不是素数,因此2047不是默森尼数..
#include <stdio.h>
int prime(int num);
int main()
{
int i,j;
long mp,MP;
for(i=2;i<20;i++)
{
mp=1;
for(j=1;j<=i;j++)
{
mp*=2;
}
MP=mp-1;
if(prime(i)&&prime(MP))
printf("%d %d\n",i,MP);
}
return 0;
}
int prime(int num)
{
int i;
for(i=2;i<num;i++)
{
if(num%i==0)
return 0;
}
return 1;
}