Number of Digit One
2015-08-31 12:42
316 查看
Description:
Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n.
For example:
Given n = 13,
Return 6, because digit 1 occurred in the following numbers: 1, 10, 11, 12, 13.
Code:
Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n.
For example:
Given n = 13,
Return 6, because digit 1 occurred in the following numbers: 1, 10, 11, 12, 13.
Code:
int countDigitOne(int n) { int ones = 0; for(long m = 1; m <= n; m *= 10) { long a = n / m; long b = n % m; ones += (a + 8) / 10 * m + (a % 10 == 1) * (b + 1); } return ones; }
相关文章推荐
- SQL语句基础篇
- HDU——1253 胜利大逃亡
- 安装OSB之安装OEPE出错INST-07248
- 常用位操作
- 物联网发展
- 排序
- 2-SAT合集
- 【spring框架】(三)面向切面编程(AOP)
- 防火墙、Iptables、netfilter/iptables、NAT 概述
- 在Mac下配置wordpress开发环境:Apache+php+MySql+Wordpress
- git忽略文件失效解决方案
- rust用struct保存特定trait的引用
- UIDatePicker应用 常用属性和方法
- 1.介绍shiro框架类关系图
- CA解扰
- 编译原理--第一章--引论
- 关于在Spring配置文件中解决MySQL重连问题
- JSP技术(一)
- 道歉还是作秀?余佳文现象背后的冷思考
- Poj2429 inverse of LCM&GCD