码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-10-06 20:19:08      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:完全   tar   计算   long   sam   快速   ret   input   空格   

 

链接: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最。。。的 快速幂!!!

标签:完全   tar   计算   long   sam   快速   ret   input   空格   

原文地址:https://www.cnblogs.com/QingyuYYYYY/p/11628156.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!