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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复