题目链接:here~~
规律:fn=2^n-1,二分法求2^n。
#include <iostream>
#include <cstdio>
#define N 1000000
using namespace std;
int pow(long long m)
{
long long sum=1, a=2;
while (m)
{
if (m&1) sum=(sum%N)*(a%N)%N;
m>>=1;
a=(a%N)*(a%N)%N;
}
return sum;
}
int main()
{
int n;
long long m;
scanf("%d", &n);
while (n--)
{
scanf("%lld", &m);
if (m==1) {printf("1\n");continue;}
printf("%d\n", pow(m)%N-1);
}
return 0;
}