本文主要是介绍【快速幂取模】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
求 a 的 b 次方对 p 取模的值,其中 1≤a,b,p≤109
输入
三个用空格隔开的整数a,b和p。
输出
一个整数,表示ab mod p的值。
样例输入 Copy
2 3 9
样例输出 Copy
8
思路:
这里借鉴一下大佬的用例:
#include<bits/stdc++.h>
using namespace std;int main()
{long long a,b,p;cin>>a>>b>>p;long long res=1%p;while(b){if(b&1)res=res*a%p; //判断b(指数)是否为奇数,是奇数才会执行a=a*a%p;b>>=1; //移位的写法,“=”不能省略}cout<<res<<endl;return 0;}
这篇关于【快速幂取模】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!