輸入n個整數,依次輸出每個數的約數的個數
輸入的第一行為n,即陣列的個數(n<=1000)接下來的1行包括n個整數,其中每個數的範圍為(1<=num<=1000000000)
當n=0時輸入結束。
可能有多組輸入資料,對於每組輸入資料,示例1輸出n行,其中每一行對應上面的乙個數的約數的個數。
複製
51 3 4 6 12
複製
123該問題為求解乙個數num的約數個數,那麼其實只需要將i在[1, sqrt(num) ]之間遍歷,求解約數個數即可,分兩種情況考慮,如果i2=num, 則ans+1,46思路:
如果i2 != num && num % i ==0, 則ans+2
1 #include2 #include3 #include4 #include5
6using
namespace
std;78
intmain()
9 29}
3031 cout << ans <33}
3435
36return0;
37 }
約數的個數
輸入n個整數,依次輸出每個數的約數的個數。輸入的第一行為n,即陣列的個數 n 1000 接下來的1行包括n個整數,其中每個數的範圍為 1 num 1000000000 當n 0時輸入結束。可能有多組輸入資料,對於每組輸入資料,輸出n行,其中每一行對應上面的乙個數的約數的個數。6 1 4 6 8 10...
約數的個數
題目描述 輸入n個整數,依次輸出每個數的約數的個數。輸入描述 輸入的第一行為n,即陣列的個數 n 1000 接下來的1行包括n個整數,其中每個數的範圍為 1 num 1000000000 當n 0時輸入結束。輸出描述 可能有多組輸入資料,對於每組輸入資料,輸出n行,其中每一行對應上面的乙個數的約數的...
約數的個數
對於約數個數的求法,開始我的 是逐個列舉取餘,這當然是乙個很簡單易懂的方法。但是整個程式的時間複雜度達到o n m 對於超級大的測試樣例來說,這顯然不可取。cin n個整數,cout 每乙個整數的約數個數 include include using namespace std 求約數個數 int f...