代码如下:
#include <bits/stdc++.h>
using namespace std;
//判断是否是质数,是质数返回true,不是返回false
bool zs(long long n){
bool r = true;
for(int i=2;i<=sqrt(n);i++){
if(n%i==0){
r = false;
break;
}
}
if(n<=1){
r = false;
}
return r;
}
//计算2的n次阶乘
long long fun(long long n){
long long s=1;
if(n==0){
s=1;
}else{
for(long long i = 1;i<=n;i++){
s *= 2;
}
}
return s;
}
int main(){
int i=1;
//穷举i,找出结果不为质数的i,输出并跳出循环
while(true){
long long s = fun(fun(i))+1;
if(!zs(s)){
cout<<i;
break;
}
i++;
}
return 0;
}
官方题解:
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int main(){
cout<<5;
return 0;
}
啊这......