设n和b是大于1的正整数。
输出从n到b的下一个功率的距离。
对于n=5和b=3,来自5的3的下一个功率是9 (3^2 = 9),因此输出是9 - 5 = 4。
对于n=8和b=2,来自8的2的下一个功率是16 (2^4 = 16),因此输出是16 - 8 = 8。请注意,在本例中,n是2的一个强大功能。
测试案例:
n b output
212 2 44
563 5 62
491 5 134
424 3 305
469 8 43
343 7 2058
592 7 1809
289 5 336
694 3 35
324 5 301
2 5 3发布于 2017-06-20 09:47:45
pryr::f(b^floor(log(n,b)+1)-n)计算结果为函数
function (b, n)
b^floor(log(n, b) + 1) - n它获取大于或等于n的第一个幂,然后从该值减去n。
将ceiling(power)改为floor(power+1),以确保如果n是b的一个幂,则使用下一个幂。
发布于 2017-06-19 14:01:28
#2^⌊1/#~Log~#2⌋#2-#&谢谢马丁
343,7 2058
https://codegolf.stackexchange.com/questions/127223
复制相似问题