rt,看样例发现公式是 2n−1。第一次代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
cin>>a;
cout<<pow(2,a)-1;
}
以为爆 int 了,就改了一下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long a;
cin>>a;
cout<<pow(2,a)-1;
}
还是没过,又改了一下,变成这样:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b=0;
cin>>a;
for(int i=1;i<=b;i++)b*=a;
cout<<b-1;
}
第一、二次错#12,第三次错#1。
就很奇怪,我背过 220=1048576,那么 220−1=1048575,没有爆 int 吧。还是我的公式推错了?
回复记得@我一下。