24分
查看原帖
24分
1344474
jacky5454楼主2025/1/15 21:25

为什么错了?

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
	int a,b,p,ans=1;
	cin>>a>>b>>p;
	int n=a,m=b;
	while(b>1)
	{
		if(b%2==0)
		{
			b/=2;
			a=a*a;
		}
		else 
		{
			b/=2;
			ans*=a;
			a=a*a;
			ans%=p;
		}
	}
	ans=ans*a%p;
	cout<<n<<"^"<<m<<" mod "<<p<<"="<<ans<<endl;
	return 0;
}

2025/1/15 21:25
加载中...