輸入n個整數,依次輸出每個數的約數的個數
輸入的第一行為n,即陣列的個數(n<=1000)接下來的1行包括n個整數,其中每個數的範圍為(1<=num<=1000000000)
當n=0時輸入結束。
可能有多組輸入資料,對於每組輸入資料,示例1輸出n行,其中每一行對應上面的乙個數的約數的個數。
51 3 4 6 12
123使用二分法求約數就可以,題目比較簡單。46
使用遍歷法會超時。
1 #include 2 #include 3view codeusing
namespace
std;45
6//求約數的個數78
int yue(intx)9
15if(i*i==x) count++;
16return
count;
1718}19
20int
main()21
31}32return0;
33 }
求約數的個數(約數個數定理)
最近做了乙個要求求乙個數約數個數的題,後來發現居然有這方面的定理,也就是約數個數定理,所以趕緊記下來。大概是 對於乙個大於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...