问题 H: 【分治】快速模幂
时间限制: 1 Sec 内存限制: 64 MB
提交: 79 解决: 64
[提交] [状态] [讨论版] [命题人:admin]
题目描述
试求ab%n的值,其中a、b、n均为整数范围内的数。
输入
三个整数a、b和n
输出
ab%n的值
样例输入
1 1 1
样例输出
0
1 #include <iostream> 2 3 using namespace std; 4 typedef long long ll; 5 ll fun(ll a, ll b, ll mod) 6 { 7 ll ans=1%mod; 8 while(b) 9 { 10 if(b&1) 11 { 12 ans=(ans%mod*a%mod)%mod; 13 // b--; 14 } 15 b>>=1; 16 a=(a*a)%mod; 17 } 18 return ans; 19 } 20 ll a,b,p; 21 int main() 22 { 23 cin>>a>>b>>p; 24 cout<<fun(a,b,p)<<endl; 25 // cout << "Hello world!" << endl; 26 return 0;
原文地址:https://www.cnblogs.com/scott527407973/p/9306747.html
时间: 2024-11-03 05:33:50