88分求调
查看原帖
88分求调
768578
xhjyJolie楼主2023/10/16 22:10

感觉没有什么问题,下载了那个错误的数据:

in: 156431 154941233 467107951
ans:156431^154941233 mod 467107951=216052475
out(我的输出):156431^154941233 mod 467107951=-395010744

我的代码:

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int a,b,p;
ll fast(ll a,ll b){
	if (b==1)return a; 
	if (b%2==1){
		ll s=(fast(a,(b-1)/2))%p;
		return s*a*s;
	}
	else{
		ll s=(fast(a,b/2))%p;
		return s*s;
	}
}
int main(){
	scanf ("%lld %lld %lld",&a,&b,&p);
	printf ("%d^%d mod %d=",a,b,p);
	ll ans=fast(a,b)%p;
	printf ("%lld",ans);
	return 0;
}

求大佬们的帮助

2023/10/16 22:10
加载中...