vjudge A^B Mod C 然后,10.6最。。。的 快速幂!!!

Posted qingyuyyyyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vjudge A^B Mod C 然后,10.6最。。。的 快速幂!!!相关的知识,希望对你有一定的参考价值。

 

链接:https://vjudge.net/contest/331993#problem/D

 

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

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

Input3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)Output输出计算结果Sample Input

3 5 8

Sample Output

3

#include<cstdio>
#include<iostream>
using namespace std;
int pow(int a,int b,int c)

    int ans=1,base=a;// ans:幂的结果;base:底数a
    while(b)
    
        if(b & 1)   //判断b是不是奇数 
        
        ans=(long long)ans*base%c;
        
        base=(long long)base*base%c;
        b = b >> 1;  //除2 
    
    return ans;

int main()

    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    printf("%d\n",pow(a,b,c));

 

 

其实,完全可以当作模板先背过,-。-  虽然我知道它很。。。

以上是关于vjudge A^B Mod C 然后,10.6最。。。的 快速幂!!!的主要内容,如果未能解决你的问题,请参考以下文章

vjudge 骨牌覆盖

1046 A^B Mod C

51Nod-1046 A^B Mod C (快速幂,了解快速幂及对 A^B Mod C的求解)

A^B mod C

1046 A^B Mod C(快速幂取模)

1046 A^B Mod C