6
什麼是好的算法來計算在許多ň的ķ進製表示的我個數字的值?如何計算數字的k進製表示中的第i位數值?
實施例:
對於功能bitval(int k, int i, int n)
:
bitval(5, 4, 9730) = 2
因爲在數目9730(它是302410)的第4位(從右側)的5元(五元)表示爲2。
什麼是好的算法來計算在許多ň的ķ進製表示的我個數字的值?如何計算數字的k進製表示中的第i位數值?
實施例:
對於功能bitval(int k, int i, int n)
:
bitval(5, 4, 9730) = 2
因爲在數目9730(它是302410)的第4位(從右側)的5元(五元)表示爲2。
喜歡的東西:
(n/(k ** i)) % k
(其中**
是冪運算符和/
是整數(截斷)除法)應該這樣做。如果你想數量從右邊的數字從1開始,而不是0
開始天真的算法如下使用(i-1)
:
n
的k
進製表示。這可以通過重複劃分和模操作來實現。i
的第位數。
什麼是問題標題中的「t」? –
@Oli:對不起,剛剛點擊'提交'太早... – Frank
@Kerrek:我看不到你的觀點。 'n'是一個數字,例如9730,不是字符串表示。你有一點,但如果你真的認爲該函數應該返回一個字符串,例如如果k = 16(十六進制表示),則爲「f」。 – Frank