如果不使用字符串(除了在必要时,如与输入或输出)计算第n个位,从左侧,一个的整数(在基体10)。
输入将以以下格式给出:
726433 5
输出应为:
3
因为那是“ 726433”的第五位数字。
输入将不包含前导零,例如“ 00223”。
测试案例/更多示例:
9 1 -> 9
0 1 -> 0
444494 5 -> 9
800 2 -> 0
这是代码高尔夫;最少的字符获胜,但是任何内置函数(例如“ nthDigit(x,n)”)都不可接受。
以下是一些伪代码,可以帮助您入门:
x = number
n = index of the digit
digits = floor[log10[x]] + 1
dropRight = floor[x / 10^(digits - n)]
dropLeft = (dropRight / 10 - floor[dropRight / 10]) * 10
nthDigit = dropLeft
如您所见,我是打高尔夫球的新手,尽管我认为在回答一个问题之前先问一个问题有点不公平,但我真的很想看看这会产生什么样的反应。:)
编辑:我希望数学答案,所以我不能真正接受依赖于将字符串转换为数组或能够访问数字作为数字列表的答案。
我们有一个赢家
用“ dc”表示,12个字节。通过DigitalTrauma。