我哪里错了?
查看原帖
我哪里错了?
365777
halehu楼主2022/5/1 12:25

哪位大佬可以看一下取模部分怎么错了?

#include<iostream>
using namespace std;
long long n,a,b,mod=998244353,i,x,y,k,ans;
int main()
{
	cin>>n;
	if(n%2==0)x=1,y=2;
	else x=n/2+1,y=n;
	a=y,b=mod-2,k=mod;
	ans=1;
	while(b){
		if(b%2){
			ans=(ans*a)%k;
		}
		a=(a*a)%k;
		b/=2;
	}
	cout<<ans*x;
}
2022/5/1 12:25
加载中...