Sicily 2501. 算算式

_gXX遇到一个麻烦的式子:

S = n1 + n2 + n3 + ...... + nk,已知n、k,求S的值。
因为_gXX数学很差,希望你能告诉他答案。但是由于他的数学实在太差了,所以你只需要告诉他S除以9901的余数即可。

Input

两个整数,n和k(n ≤ 1000 , k ≤ 109)。

Output

一个数,表示S除以9901的余数。

Sample Input

2 3

Sample Output

14

 

// 费马小定理,若a为整数,p为质数,则a^{p-1} \equiv 1 \pmod{p} , 即循环等于1,9901为素数,因此只需计算k模9900个数的和的模。
// 1*n  (1+n)*n  (1+n+n^2)*n (1+n+n^2+n^3)*n
//  2 3
// 2  6  14
#include<iostream>
using namespace std;

int main()
{
    int n,k;
    cin>>n>>k;
    int m=k%9900;
    int ans=0;
    while(m--)
    {
        ans=(ans+1)*n;
        ans%=9901; 
    }
    cout<<ans<<endl;
    return 0;
}

 

posted @ 2013-11-14 20:41  y丫t  阅读(193)  评论(0编辑  收藏  举报