快速幂
题目描述
输入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); }