132 字
1 分钟
BZOJ 4173 数学
Description
Input
输入文件的第一行输入两个正整数 。
Output
如题
Sample Input
5 6
Sample Output
240
HINT
N,M<=10^15
题解
简单来说就是找规律
答案为a*b*phi(a)*phi(b)
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
const long long MOD = 998244353;
long long phi(long long x)
{
double ans = x;
int i = 2;
int Sqrt = ceil(sqrt(x));
while (x != 1)
{
if (i > Sqrt)
{
ans *= (1 - (double)1 / x);
break;
}
if (x % i == 0)
{
ans *= (1 - (double)1 / i);
while (x % i == 0)
x /= i;
}
i++;
}
return (long long)ans;
}
int main()
{
long long a,b;
scanf("%lld%lld",&a,&b);
printf("%lld",((((a%MOD)*(b%MOD)%MOD)*(phi(a)%MOD)%MOD)*(phi(b)%MOD))%MOD);
//while(1);
}