概述
1.2 Write a method to count the number of 2’s between 0 and n.
EXAMPLE
input: 35
output: 14 [list of 2’s: 2, 12, 20, 21, 22, 23, 24, 25, 26, 27,28, 29, 32]
从0枚举到n,统计2的个数,显然太麻烦了,而且不是数学方法。。
既然是要统计从0到n中,一共出现了多少2,那就可以考虑:个位一共多少2,十位一共多少2,百位一共多少2... 最后加起来就可以
比如35 [其实就是035]: (03+1)*1 + (0+1)*10=14;
个位的2 十位的2
括号里为什么要+1呢? 因为这位上本身的数>=2;如果该位上<2,就+0 。
再比如135 [0135]: (013+1)*1 + (01+1)*10 + (0+0)*100 = 34;
个位的2 十位的2 百位的2( 1<2,所以+0)
所以可以得到算法(计算第i位包含的2个
最后
以上就是坚定纸鹤为你收集整理的1.2 从0到n,共包含多少个2?的全部内容,希望文章能够帮你解决1.2 从0到n,共包含多少个2?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复