题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。
例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。
如:
30143:
由于3>1,则个位上出现1的次数为(3014+1)*1
由于4>1,则十位上出现1的次数为(301+1)*10
由于1=1,则百位上出现1次数为(30+0)*100+(43+1)
由于0<1,则千位上出现1次数为(3+0)*1000
注:以百位为例,百位出现1为100~199,*100的意思为单步出现了100~199,100次,*30是因为出现了30次100~199,+(43+1)是因为左后一次301**不完整导致。
本文介绍了一种计算从1到任意整数N中数字1出现总次数的方法。通过分解数字并逐位考虑,文章详细解释了如何确定个位、十位等每位上1出现的频次。
577

被折叠的 条评论
为什么被折叠?



