计算 k - n 中 i 次数字的值的好算法是什么? n ?
示例:
对于函数bitval(int k, int i, int n)
:
bitval(5, 4, 9730) = 2
因为在数字9730(即302410)的5-ary(quinary)表示中,第4位(从右边)是2。
答案 0 :(得分:5)
类似的东西:
(n / (k ** i)) % k
(其中**
是指数运算符,/
是整数(截断)除法)应该这样做。如果要对从右边开始的数字开始,而不是从0开始,请使用(i-1)
。
答案 1 :(得分:-2)
朴素算法如下:
k
的{{1}} - ary表示。n
。这可以通过重复划分和模运算来实现。i
位数。