社区讨论

问个问题

AT_arc167_b [ARC167B] Product of Divisors参与者 5已保存回复 9

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
9 条
当前快照
1 份
快照标识符
@lo128k5k
此快照首次捕获于
2023/10/22 14:00
2 年前
此快照最后确认于
2023/11/02 13:30
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
#define int long long
#define double long double
#define INF INT_MAX
using namespace std;
const int mod=998244353*2;//one
int a,b,ans;
signed main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	cin>>a>>b;
	b%=mod,ans=b;
	for(int i=2;i*i<=a;i++){
		int sum=0;
		while(a%i==0){
			a/=i;
			sum++;
		}
		ans=ans*(b*sum%mod+1)%mod;
	}
	if(a!=1) ans=ans*(b+1)%mod;
	cout<<ans/2<<endl;//two
	return 0;
}

为什么在模数*2,答案/2的情况下能AC,求解释

回复

9 条回复,欢迎继续交流。

正在加载回复...