算法提高 快速幂



  算法提高 快速幂  
时间限制:1.0s   内存限制:256.0MB
    
问题描述
  给定A, B, P,求(A^B) mod P。
输入格式
  输入共一行。
  第一行有三个数,N, M, P。
输出格式
  输出共一行,表示所求。
样例输入
2 5 3
样例输出
2
数据规模和约定
  共10组数据
  对100%的数据,A, B为long long范围内的非负整数,P为int内的非负整数。
 

.

.快速幂代码:(大伙快速幂不懂的话推荐看一下百度文库的这篇文章)点击打开链接

#include<iostream>
using namespace std;
int PD(long long  a,long long b,int c){
		long long  res=1;
		a%=c;
	while(b>0){
		if(b%2==1){//是奇数的话
			res=res*a%c;
		}
			b/=2;
			a=a*a%c;
	}
	return res;
}
int main(){
		long long a,b;
		int c;
			cin>>a>>b>>c;
	cout<<PD(a,b,c);
	
	
	
	
		return 0;
}



猜你喜欢

转载自blog.csdn.net/qq_39671636/article/details/79728339