前几天网络赛的一个题,找了下规律发现是要输出2n−12^{n-1}2n−1,111 ≤\leq≤ nnn ≤\leq≤ 1020010^{200}10200,答案对1000000007取模,直接快速幂取模要用大数,很麻烦。 百度了下,于是学到了费马小定理: 假如p是质数,且gcd(a,p)=1,那么 ap−1a^{p-1}ap−1 ≡\equiv≡ 1(mod p) 证明见百度百科 于是ana^{n}an % 1000000007 ≡\equiv≡ ara^{r}ar % 100000000710000000071000000007,其中 rrr === nnn % 100000000610000000061000000006 只需要在输入的时候用字符串存一个大数,遍历一次进行取模,就可以在int范围内跑快速幂了