求助+悬关!!!
查看原帖
求助+悬关!!!
1294138
Forlornless楼主2024/10/1 00:17

实在不懂为什么测试点会出现负数……自己试的就没有问题。

#include<iostream>
#include<cmath>
using namespace std;
int main(){
	long long a,b,p;cin>>a>>b>>p;
	long long i = 1,ans = 0,point = 0;
	while(a>0){
		ans+=i%p*(a&1);
		a>>=1;
		i=i*2%p;
	}
	i = 1;
	while(b>0){
		point+=i%p*(b&1);
		b>>=1;
		i=i*2%p;
	}
	cout<<((ans%p)*(point%p))%p;
	//cout<<endl<<ans<<" "<<point;
	return 0;
}
/*
in:13243634728474837 142537283746352619 17263
out:2360
*/
2024/10/1 00:17
加载中...