乙個數擁有的因數數量最多是這個數的幾分之幾?

時間 2022-01-14 22:38:23

1樓:黃亮anthony

其實題主說的很清楚,只是想要乙個空間上限。

我來正面回答吧

乙個數的質因數個數比較松的上限是log_2(x)。寫程式的話,int 範圍用32個空間即可。

證明如下,

x有質因數從小到大為p_1到p_n,其中因數可以重複,則x=p_1*p_2*...*p_n>=2^n

取2的對數得n<=log_2(x)

而這個數的全部因數,可以通過質因數的組合求得。

2樓:何冬州楊巔楊豔華典生

預備概念:素數,數的標準素因數分解,因數,因數函式(常常被稱為除數函式)

設數n的標準素因數分解式為2^r[1]*3^r[2]*5^r[3]*7^r[4]*...*p[n]^r[n]

其中p[n]是第n個素數,r[n]為非負整數即r[n]≥0且r[n]為整數。

此時,n的因數個數=因數函式σ[n]=(r[1]+1)(r[2]+2)(r[3]+3)(r[4]+4)*...*(r[n]+n),此時n的因數形如2^e[1]*3^e[2]*5^e[3]*7^e[4]*...*p[n]^e[n],其中0≤e[i]≤r[i],i=1,2,3,4,...

,n.例如,當n=1=2^0*3^0*...,σ[n]=(0+1)(0+1)...=1

當n=2=2^1*3^0*...,σ[n]=(1+1)(0+1)...=2

當n=p[n]=p[n]^1,σ[n]=(1+1)=2

當n=4=2^2,σ[n]=(2+1)=3,此時n的因子∈

當n=6=2^1*3^1,σ[n]=(1+1)(1+1)=4,此時n的因子∈

當n=12=2^2*3^1,σ[n]=(2+1)(1+1)=6,此時n的因子∈

結論:σ[n]/n≤1;當且僅當n=1,2時取等號。

乙個數擁有的因素的數量最多是這個數的百分之百。

其他相關:

n為平方數<=>σ[n]為奇數。

3樓:悽臨雨

如果有精確解,那麼是否是素數不就能瞬間算出來了

建議你用動態長度的容器來裝資料,而不是想偷工減料。

因子的數量,隨數字越大越稀疏,肯定不是用幾分之一來表達的,應該要用到log和開方

為什麼乙個數除以99會得到這個數的迴圈?

小學渣 你可以反向推 比如0.72 72迴圈 就等於0.72 1 1 100 1 10000 後面括號中有無窮多項,用等比數列求和公式算得100 99,也就是0.72 72迴圈 乘99 72 嗯我猜你不是高中生,所以等比數列可能沒學過。但是沒關係,在網上查一下就懂了。求讚求關注 葉飛影 1 9 0....

怎樣實現浮點數除以乙個數再乘以這個數結果等於原值

guenchi 在有的程式語言中,比如Scheme,1.0 除以3 這個數會被表示為 1 3,然後乘以3會得到1。就是說浮點數會以分數形式儲存和計算,直到最後輸出 楊個毛 你要的這個東西叫Rational data type。有些程式語言裡這個東西以語言特性的方式提供給你,有些語言裡這個東西以庫的形...

在0到1之間隨機取乙個數,這個數可以無窮小,那取到的數在0 到0 1區間和0 1到1的區間哪個概率大?

hhh 絕對是0.1到1之間概率大。等勢不等於真的一樣多。0到0.1之間能跟全體實數一一對應,但是實際上,0到0.1也只能和0.1到0.2一樣多。所以是0.1到1之間的概率要大。0到0.1再怎樣和實數等勢和0到1等勢從0到1抽中的概率永遠都是0.1。 楊歷 嚴格一點說,這種概率反應的是測度的 大小 ...