判断数字是否以 100 结尾的算法
Algorithm for determining if a number ends in 100
是否有快速数学计算来确定给定数字是否以 100
结尾?
样本:
hasHundred( 5 ) ==> false
hasHundred( 100 ) ==> true
hasHundred( 1000 ) ==> false
hasHundred( 10100 ) ==> true
使用字符串并检查 '100'
相当简单,但我想知道是否可以用数学方法完成。
你说的是一致性。您正在查找
形式的号码
100 + k * 1000
其中 k
是某个整数;另一种写法是 numbers for which
n % 1000 === 100
也就是说除以1000后的余数一定是100
从理论上讲,每个数字都可以写成 10 的幂之和。
如果该总和像这样开始 0 + 0*10^1 + 1*10^2 + ...
然后 "it starts with 100" 如您所定义。
因此,您所需要的只是一种算法,可以将数字写成那种形式。
(让我看看我能不能找到什么)
是的,该算法可能效率极低——处理字符串的效率更高
是否有快速数学计算来确定给定数字是否以 100
结尾?
样本:
hasHundred( 5 ) ==> false
hasHundred( 100 ) ==> true
hasHundred( 1000 ) ==> false
hasHundred( 10100 ) ==> true
使用字符串并检查 '100'
相当简单,但我想知道是否可以用数学方法完成。
你说的是一致性。您正在查找
形式的号码100 + k * 1000
其中 k
是某个整数;另一种写法是 numbers for which
n % 1000 === 100
也就是说除以1000后的余数一定是100
从理论上讲,每个数字都可以写成 10 的幂之和。 如果该总和像这样开始 0 + 0*10^1 + 1*10^2 + ... 然后 "it starts with 100" 如您所定义。
因此,您所需要的只是一种算法,可以将数字写成那种形式。 (让我看看我能不能找到什么)
是的,该算法可能效率极低——处理字符串的效率更高