本文主要是介绍51Nod_1046 A^B Mod C,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
51Nod_1046 A^B Mod C
http://www.51nod.com/Challenge/Problem.html#!#problemId=1046
题目
给出3个正整数A B C,求A^B Mod C。例如,3 5 8,3^5 Mod 8 = 3。
输入
3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)
输出
输出计算结果
样例输入
3 5 8
样例输出
3
分析
B较大使用快速模幂法进行求解
C++程序
#include<iostream>using namespace std;
typedef long long ll;ll fun(ll x,ll n,ll mod)
{ll ans=1;while(n>0){if(n&1)//if(n%2==1)ans=ans*x%mod;x=x*x%mod;n>>=1;//n=n/2; }return ans;
}int main()
{ll a,b,c;cin>>a>>b>>c;cout<<fun(a,b,c)<<endl;return 0;
}
这篇关于51Nod_1046 A^B Mod C的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!