输入样例
1 1
2 1
3 2
输出样例
2
2
2
f(x)打表找规律的 fx=x+1,fn(x)=x+n+1;然后用欧拉公式
#include <iostream>
#include <cstdio>
using namespace std; __int64 euler(__int64 n)
{
__int64 i;
__int64 res = n, a = n;
for(i = ;i*i <= a; ++i)
{
if(a%i == )
{
res -= res / i;
while(a % i == )
{
a /= i;
}
}
}
if(a > ) res -= res/a;//存在大于sqrt(a)的质因子
return res;
} int main()
{
__int64 n, x;
while (~scanf("%I64d%I64d", &n, &x))
{
__int64 ans = n + x + ;
printf("%I64d\n", euler(ans));
}
return ;
}