2.4 1的数目
来源:互联网 发布:刷会员软件 编辑:程序博客网 时间:2024/04/29 23:46
题目:
写一个函数f(n),返回1到N之间出现的“1”的个数。
从特殊情况推导到一般情况。
分为该位数是0、1、其他。。
(1)如果这位上的数字是0的话,那么这个位上出现1的次数仅有更高位决定。
(2)如果这位上的数字是1的话,那么这个位上出现的1的次数不仅跟更高位有关,还跟更低位有关。
· (3)如果这位上的数字是其他(2-9)的话,那么这个位上出现1的次数仅由更高位决定。
代码如下:
__int64 Sum1s(__int64 n) {__int64 iCount = 0;__int64 iFactor = 1;__int64 iLowerNum = 0;__int64 iCurrNum = 0;__int64 iHigherNum = 0;while(n / iFactor != 0) {iLowerNum = n - (n / iFactor) * iFactor;iCurrent = (n / iFactor) % 10;iHigherNum = n / (iFactor * 10);switch(iCurrNum) {case 0:iCount += iHigherNum * iFactor;break;case 1:iCount += iHigherNum * iFactor + iLowerNum + 1;break;default:iCount += (iHigherNum + 1) * iFactor;break;}iFactor *= 10;}return iCount;}
0 0
- 2.4 1的数目
- 2.4 1的数目
- 2.4 1的数目
- 编程之美 2.4 “1”的数目
- 编程之美 2.4 1的数目
- 编程之美 2.4 “1”的数目
- 编程之美2.4 1的数目
- 编程之美-2.4 1的数目
- [编程之美2.4]1的数目
- 编程之美 2.4 1的数目
- 编程之美2.4 1的数目
- 编程之美--2.4 1的数目
- 编程之美 2.4 1的数目
- 编程之美 2.4 1的数目
- 编程之美2.4 1的数目
- 1的数目
- 1的数目
- 1的数目
- 深入理解netfilter
- MySQL 添加列,修改列,删除列
- HDU 5139 Formula
- ThreadLocal
- iOS8中使用CoreLocation定位
- 2.4 1的数目
- 【学习ios之路:C语言】循环方面试题
- javascript日期、时间比较函数
- [ZedBoard移植嵌入式Linux教程(9,10)]编译设备树dts为dtb,制作根文件系统
- vs调试c++源码无法加载断点
- 第三章 、处理机调度与死锁学习
- 如何让命令行支持PHP语法编译
- JavaScript 阶段小结
- 命名空间