約數的個數

2022-08-17 04:48:15 字數 888 閱讀 3643

mmoaay小侄子今年上初中,老師出了一道求約數個數的題目,比如8的約數有1,2,4,8共4個。

當數比較小的時候可以人工算,當n較大時就難了。

mmoaay嫌麻煩,現在讓你編個程式來算。

一行乙個整數。最後以0結束。

分別求出這些整數的約數個數,最後的0不用處理。

8

1000

4

9題解:求正整數378000共有多少個正約數?

解:將378000分解質因數378000=2^4×3^3×5^3×7^1

由約數個數定理可知378000共有正約數(4+1)×(3+1)×(3+1)×(1+1)=160個。

#include #include 

#define n 70000

#define ll long long

bool

prime[n];

inta[n];

void

prim()

for(i = 3; i <= sqrt(n); i += 2

)

if(prime[i])

for(j = i + i; j < n; j +=i)

prime[j] = false

; j = 1

; a[

0]=2

;

for(i = 2; i < n; i++)

if(!prime[i])

a[j++] =i;

}int

main()

s*=num;

}printf(

"%lld\n

",s);

}return0;

}

約數的個數

輸入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...