其实,对于我这个年龄来说,数学已经很弱了,这一点我自己已经感受到了,所以说,接下来要做的是全力以赴,(话说不全力以赴也不行啊)
题目链接:https://www.bnuoj.com/v3/problem_show.php?pid=4053
这个数学问题我在比赛的时候推了半天,硬是没有推出来,赛后看别人的代码,也是没有看懂,对自己的数学也是无言以对,后来请教了一位数学大神,在数学大神的协助下,终于推出来一条精简的公式,
代码:
#include<stdio.h>
#include<math.h>
//long long qqq(long long a,long long b,long long mod)
//{
// long long q=1;
// while(b)
// {
// if(b&1)
// {
// q=q*a%mod;
//
// }
//
// b>>=1;
// a=a*a%mod;
// }
// return q;
//}
long long qqq(long long a)
{long long sum=1,i;
for(i=0;i<a;i++)
{
sum*=2;
sum%=10111009;
}
return sum;
}
int main()
{
long long a,s;
while(~scanf("%lld",&a))
{
s=-a+qqq(a)-1;
printf("%lld\n",s%10111009);
}
return 0;
}
公式:An=-n+2^n-1;