C ++中的Mobius函数程序

给定数字n; 任务是找到数字n的Mobius函数。

什么是莫比乌斯函数?

Mobius函数是数论函数,由

$$\ mu(n)\ equiv \ begin {cases} 0 \\ 1 \\(-1)^ {k} \ end {cases} $$

n = 0如果n具有一个或多个重复因子

n = 1如果n = 1

n =(-1)k如果n是k个不同质数的乘积

示例

Input: N = 17
Output: -1
Explanation: Prime factors: 17, k = 1,
(-1)^k