问题 A: 【快速幂】a^b(C++)(快速幂)

1.题目描述

问题 A: 【快速幂】a^b
时间限制: 1.000 Sec  内存限制: 128 MB
 
题目描述
求 a 的 b 次方对 p 取模的值,其中 1≤a,b,p≤109
输入
三个用空格隔开的整数a,b和p。
输出
一个整数,表示ab mod p的值。
 

样例输入 Copy
2 3 9

样例输出 Copy
8

2.AC

#include  
using namespace std;

int main () {
	long long a, b, p, ans = 1;
	cin>>a>>b>>p;
	while (b > 0) {
		if (b & 1) {
			ans = ans * a % p;
		}
		a = a * a % p;
		b >>= 1;
	}
	cout<

你可能感兴趣的:(算法学习,职场和发展,算法,c++)