51NOD1046 A^B Mod C(快速幂)

1046 A^B Mod C 

基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题

 收藏

 关注

给出3个正整数A B C,求A^B Mod C。

例如,3 5 8,3^5 Mod 8 = 3。

Input

3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)

Output

输出计算结果

Input示例

3 5 8

Output示例

3
#include<iostream>
#include<cstdio>
using namespace std;
long long a,b,c;
int power()
{
    long long ans = 1;
    while(b) {
        if(b&1) {
            ans = ans * a % c;
        }
        a = (a * a)%c;
        b >>=1;
    }
    return ans;
}

int main()
{
    while(~scanf("%lld%lld%lld",&a,&b,&c))
	{
		printf( "%d",power() );
		}	
}

猜你喜欢

转载自blog.csdn.net/love20165104027/article/details/81459473