求从1到参数n中的各个数字中,各个位上1出现的次数和
2015-04-26 10:28
176 查看
/** * 求从1到参数n中的各个数字中,1出现的次数和 * * @param n * @return */ public static int countOne(int n) { int factor = 1; int cur; int low; int high; int cnt = 0; while ((n / factor) != 0) { low = n - (n / factor) * factor;// 低位数字 cur = (n / factor) % 10;// 当前位数字 high = n / (factor * 10);// 高位数字 switch (cur) { case 0: cnt += high * factor;//由高位决定 break; case 1: cnt += high * factor + low + 1; break; default: cnt += (high + 1) * factor; } factor *= 10; } return cnt; }
相关文章推荐
- Sicily.1125. Arnie versus the IRS(统计时间段内各个数字出现次数,不算周六日)
- 10、在排序数组中,找出给定数字出现的次数
- 记录某个数字出现的次数
- 有序数组中找出给定数字的出现次数
- 面试题38:数字在排序数组中出现的次数
- 第21,22章:出现次数超过一半的数字,最短摘要的生成
- 剑指offer 37 数字在排序数组中出现的次数
- 统计一个数字在排序数组中出现的次数(二分法)
- 剑指Offer——计算1至n中数字x出现的次数
- 1349 数字在有序序列中出现的次数
- 剑指offer 38-数字在排序数组中出现的次数
- [Python]数字在排序数组中出现的次数 解题思路
- 面试题29. 数组中出现次数超过一半的数字
- 《剑指offer》——数字在排序数组中出现的次数
- 九度_题目1349:数字在排序数组中出现的次数
- noip2010 数字统计 (统计某一数字区间中,2出现的次数)
- 微信红包(数组中出现次数超过一半的数字)----腾讯2016研发工程师编程题
- 求数组中出现次数第二多的数字——哈希表
- 小程序(九)找出数组中出现最多的数字以及它的出现次数
- 剑指Offer-29-数组出现次数超过一半的数字-基于Partition函数的O(n)算法