[BZOJ4173]数学(数论)

来源:互联网 发布:下载99宿舍客服软件 编辑:程序博客网 时间:2024/06/01 09:20

题目描述

传送门

题解

实际上答案就是φ(n)φ(m)nm
因为规律真心好找…
不过据说kS(n,m)φ(k)=nm是可以证明的,但是我目前还不会。。可能需要想很久也不一定能想出来,以后再补吧。

代码

#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#define LL long long#define Mod 998244353LL n,m,ans;LL phi(LL x){    LL ans=x;    for (LL i=2LL;i*i<=x&&x>1LL;++i)        if (x%i==0)        {            ans=ans-ans/i;            while (x%i==0) x/=i;        }    if (x>1LL) ans=ans-ans/x;    return (ans%Mod+Mod)%Mod;}int main(){    scanf("%lld%lld",&n,&m);    ans=phi(n)*phi(m)%Mod;    n%=Mod,m%=Mod;    ans=ans*n%Mod*m%Mod;    printf("%lld\n",ans);}
0 0
原创粉丝点击