什么是计算一个数字的k进制表示中第i位的值的好算法?例如:对于函数bitval(int k, int i, int n):bitval(5, 4, 9730) = 2,因为在数字9730(即302410)的5进制(即五进制)表示中,从右往左数第4位是2。
Something like: (n / (k ** i)) % k 可以使用 ** 表示乘方操作符,/ 表示整数(截断)除法。如果您想从右侧开始以1为起始数字对数字进行编号,而不是从0开始,可以使用 (i-1)。
n
是一个数字,例如9730,而不是字符串表示。不过如果你真的是指函数应该_返回_一个字符串,例如如果k=16(十六进制表示),则应该返回“f”,那么你是有道理的。 - Frank