梅森尼数:形如2n-1的素数称为梅森尼数。例如:22-1=3,23-1=7都是梅森尼数。1722年,双目失明的瑞士数学大师欧拉证明了231-1=2147483647是一个素数,堪称当时世界上“已知最大素数”的第一个纪录。
试求出指数n<20的所有梅森尼数。哪位大神帮我看看哪里有问题
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
for (int n = 2; n <=20;++n)
{
long long num = 1;
for (int i = 1; i <= n; ++i)
{
num *= 2;
--num;
bool tag = true;
for (int k = 2; k <= sqrt(num); ++k)
{
if (num%k==0)
{
tag = false;
break;
}
}
if (tag)
cout << num << endl;
}
}
return 0;
}