检查数字中是否有数字"0"的最快方法是什么?
我需要开发一种快速方法,因为我必须在$ 20 $ $秒内以接近$ 10 ^ 9 $的数量执行这些检查.
将它转换成字符串后会搜索零吗?
小智 14
除了2美元的功率以外的数字除以将采用相同数量的操作,无论数量是多少.因此,不要反复将$ x $除以$ 10 $并测试每个余额对$ 0 $,考虑重复将$ x $除以$ 10 ^ 6 $(比如说)并在$ [0,10 ^ 6]的查找表上测试每个余数$.如果余数包含内部零,则查找表应为"是",如果不包含零则为"否",如果余数仅包含初始零,则为"可能"(在这种情况下,检查$ x $当前是非零并返回)因此"是"或"否".