a^b%p(C语言)——大数取余

a^b

时间限制: 1 Sec  内存限制: 128 MB

题目描述:

求 a 的 b 次方对 p 取模的值,其中 0≤a,b≤10^9 , 0<p≤10^9

输入:

三个用空格隔开的整数a,b和p。

输出:

一个整数,表示a^b mod p的值。

样例输入:

2 3 9

样例输出:

8

已AC代码:

#include<stdio.h>
#include<math.h>

long long kuaiqiumi(long long a,long long b,long long c){
    long long ans = 1 % c;
    a %= c;
    while(b){
        if((b&1)){
            ans = (ans*a)%c;
        }
        a = (a*a)%c;
        b = b>>1;
    }
    return ans;
}
int main(){
    long long a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    printf("%d\n",kuaiqiumi(a,b,c));
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_48419914/article/details/112132641
今日推荐