SDNU1349.快速幂入门

Description

输入3个数a,b,c,求a ^ b mod c = ?

Input

多组数据:每组数据,三个数a,b,c。

Output

对于每一组数据,输出一个数,即a ^ b mod c的答案。

Sample Input

5 10 9

Sample output

4

#include<cstdio>
#include<iostream>
using namespace std;
#define ll long long
ll qsm(ll a,ll b,ll c)
{
    ll sum=1;
    a%=c;
    while(b)
    {
        if(b&1)
        {
            sum=(sum*a)%c;
        }
        b/=2;
        a=(a*a)%c;
    }
    return sum;
}
int main()
{
    ll a,b,c,d;
    while(~scanf("%lld%lld%lld",&a,&b,&c))
    {
        d=qsm(a,b,c);
        printf("%lld\n",d);
    }
    return 0;
}

 

posted @ 2018-11-26 20:15  明霞  阅读(128)  评论(0编辑  收藏  举报