快速幂

题目描述

输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。

输入格式

三个整数b,p,k.

输出格式

输出“b^p mod k=s”

s为运算结果

输入输出样例

输入 #1
2 10 9
输出 #1
2^10 mod 9=7

#include<bits/stdc++.h>
using namespace std;
int main()
{
    long long n,x,mod,ans=1,p,c;
    scanf("%lld%lld%lld",&n,&x,&mod);
    p=n;c=x;
    while(x)
    {
        if(x&1)
        {
            ans=(ans*n)%mod;
        }
        x>>=1;
        n=(n*n)%mod;
    }
    printf("%lld^%lld mod %lld=%lld",p,c,mod,ans%mod);
 } 

 

posted @ 2019-07-02 13:17  satans  阅读(198)  评论(0编辑  收藏  举报