莫比烏斯函式(51nod 1240)

2021-07-26 08:21:51 字數 606 閱讀 8568

思路:分解質因數,每找到乙個質數,判斷是否為質因數,及其對應的次數,一旦出現平方因子,輸出0;如果沒有出現平方因子,原數nu

m 除去這個質因數

i ,得到商nu

m,num /= i,繼續尋找下乙個質因數,如果尋找的質因數超過了nu

m‾‾‾

‾√,說明剩餘的數nu

m 是乙個質數,則已經找到最後乙個質因數,無需繼續計算。

#include 

#include

#include

using

namespace

std;

int main()

}if (flag)

num /= i;

pow++;

}if (pow > 0)

if (num == 1) // 理論上應該不會觸碰,可以刪除這兩行

break;}}

cnt++; // 最後乙個質因數之前尚未算入

if (cnt % 2)

cout

<<-1

cout

<<1

0;}

51nod 1240 莫比烏斯函式

莫比烏斯函式,由德國數學家和天文學家莫比烏斯提出。梅滕斯 mertens 首先使用 n miu n 作為莫比烏斯函式的記號。據說,高斯 gauss 比莫比烏斯早三十年就曾考慮過這個函式 具體定義如下 如果乙個數包含平方因子,那麼miu n 0。例如 miu 4 miu 12 miu 18 0。如果乙...

51nod 1240 莫比烏斯函式

莫比烏斯函式,由德國數學家和天文學家莫比烏斯提出。梅滕斯 mertens 首先使用 n miu n 作為莫比烏斯函式的記號。據說,高斯 gauss 比莫比烏斯早三十年就曾考慮過這個函式 具體定義如下 如果乙個數包含平方因子,那麼miu n 0。例如 miu 4 miu 12 miu 18 0。如果乙...

51nod 1240 莫比烏斯函式

1240 莫比烏斯函式基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 收藏 關注 莫比烏斯函式,由德國數學家和天文學家莫比烏斯提出。梅滕斯 mertens 首先使用 n miu n 作為莫比烏斯函式的記號。據說,高斯 gauss 比莫比烏斯早三十年就曾考慮過這個函式 具體...