PAT甲级1049
2017-01-21 21:02
253 查看
1049. Counting Ones (30)
时间限制10 ms
内存限制
65536 kB
代码长度限制
16000 B
判题程序
Standard
作者
CHEN, Yue
The task is simple: given any positive integer N, you are supposed to count the total number of 1's in the decimal form of the integers from 1 to N. For example, given N being 12, there are five 1's in 1, 10, 11, and 12.
Input Specification:
Each input file contains one test case which gives the positive N (<=230).
Output Specification:
For each test case, print the number of 1's in one line.
Sample Input:
12
Sample Output:
5
#include<cstdio> int main() { int n, a = 1, ans = 0; int left, now, right; scanf("%d", &n); while (n / a != 0) { left = n / (a * 10); now = n / a % 10; right = n%a; if (now == 0) ans += left*a; else if (now == 1)ans += left*a + right + 1; else ans += (left + 1)*a; a *= 10; }//从右至左,逐位分析“1”在该位出现的次数 printf("%d\n", ans); return 0; }
相关文章推荐
- *浙大PAT甲级 1049
- pat 甲级 1049. Counting Ones (30)
- PAT甲级 1049. Counting Ones (30)
- 【PAT甲级】1049. Counting Ones (30)
- PAT(甲级)1049
- PAT 甲级 1049. Counting Ones (30)
- 1049. 数列的片段和(20) PAT乙级 &1104. Sum of Number Segments (20)PAT甲级
- PAT甲级.1049. Counting Ones (30)
- 1062. Talent and Virtue (25)-PAT甲级真题
- 1025. PAT Ranking (25)-PAT甲级
- 1032. Sharing (25)-PAT甲级真题
- 1102. Invert a Binary Tree (25)-PAT甲级真题
- PAT甲级练习题A1018. Public Bike Management (30)
- PAT甲级练习题A1022. Digital Library (30)
- 1071. Speech Patterns (25)-PAT甲级真题(map应用)
- 1078. Hashing (25)-PAT甲级真题(二次方探查法)
- 浙大PAT甲级 1033
- 1013. Battle Over Cities (25)-PAT甲级真题(图的遍历,统计强连通分量的个数,dfs)
- 【PAT甲级】【C】1001. A+B Format (20)
- PAT甲级1006