求約數的個數 牛客

2022-08-24 05:48:11 字數 615 閱讀 2622

輸入n個整數,依次輸出每個數的約數的個數

輸入的第一行為n,即陣列的個數(n<=1000)

接下來的1行包括n個整數,其中每個數的範圍為(1<=num<=1000000000)

當n=0時輸入結束。

可能有多組輸入資料,對於每組輸入資料,

輸出n行,其中每一行對應上面的乙個數的約數的個數。

示例1

5

1 3 4 6 12

123

46

使用二分法求約數就可以,題目比較簡單。

使用遍歷法會超時。

1 #include 2 #include 3

using

namespace

std;45

6//求約數的個數78

int yue(intx)9

15if(i*i==x) count++;

16return

count;

1718}19

20int

main()21

31}32return0;

33 }

view code

求約數的個數(約數個數定理)

最近做了乙個要求求乙個數約數個數的題,後來發現居然有這方面的定理,也就是約數個數定理,所以趕緊記下來。大概是 對於乙個大於1正整數n可以分解質因數 n p1 a1 p2 a2 p3 a3 pk ak,則n的正約數的個數就是 a1 1 a2 1 a3 1 ak 1 其中p1,p2,p3,pk都是n的質...

牛客 n的約數(約數定理)

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld t次詢問,每次給你乙個數n,求在 1,n 內約數個數最多的數的約數個數 第一行乙個正整數t 之後t行,每行乙個正整數n輸出t行,每行乙個整數,表示答案 示例1 51...

牛客網 最大的奇約數

小易是乙個數論愛好者,並且對於乙個數的奇數約數十分感興趣。一天小易遇到這樣乙個問題 定義函式f x 為x最大的奇數約數,x為正整數。例如 f 44 11.現在給出乙個n,需要求出 f 1 f 2 f 3 f n 例如 n 7 f 1 f 2 f 3 f 4 f 5 f 6 f 7 1 1 3 1 5...