首页 > 代码库 > 51Nod 1046 A^B Mod C Label:快速幂
51Nod 1046 A^B Mod C Label:快速幂
给出3个正整数A B C,求A^B Mod C。
例如,3 5 8,3^5 Mod 8 = 3。
Input
3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)
Output
输出计算结果
Input示例
3 5 8
Output示例
3
代码
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #define ll long long 6 using namespace std; 7 8 ll pow(ll x,ll n,ll m){ 9 ll ans=1;10 while(n){11 if(n&1)ans=ans*x%m;12 x=(x*x)%m;13 n>>=1;14 }15 return ans;16 }17 18 int main(){19 ll a,b,c;20 scanf("%lld%lld%lld",&a,&b,&c);21 printf("%lld\n",pow(a,b,c));22 return 0;23 }
51Nod 1046 A^B Mod C Label:快速幂
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。