求助!本代码啊a,b取int极限都不溢出
查看原帖
求助!本代码啊a,b取int极限都不溢出
1023793
yaodiguoan楼主2024/1/5 20:23
#include <iostream>
using namespace std;
#define FOR(i,j,n,k) for(int i=(j);i<=(n);i+=k)
#define ROR(i,j,n,k) for(int i=(j);i>=(n);i-=k)
int a,b,mod;
int solve(int x,int y){
	if(y==0) return 1;
	if(y==1) return x%mod;
	int f=solve(x,y/2);
	if(y%2==1) return f*f%mod*x%mod;
	else return f*f%mod; 
}
int main(){
	ios::sync_with_stdio(0);
	cin.tie(),cout.tie();
	//freopen(".in","r",stdin);
	//freopen(".out","w",stdout);
	cin>>a>>b>>mod;
	cout<<a<<'^'<<b<<" mod "<<mod<<"="<<solve(a,b);
	return 0;
}



2024/1/5 20:23
加载中...