数字统计(区间数字)
来源:互联网 发布:ae软件好学吗 编辑:程序博客网 时间:2024/05/19 22:27
1206: 数字统计
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 8 Solved: 3
[Submit][Status][Web Board]
Description
一本书的页码从自然数1 开始顺序编码直到自然数n。书的页码按照通常的习惯编排,
每个页码都不含多余的前导数字0。例如,第6 页用数字6 表示,而不是06 或006 等。数
字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1,
2,…,9。
Input
给出表示书的总页码的整数n(1≤n≤2^31-1)
Output
输出10行,在第k行输出页码中用到数字k-1 的次数,k=1,2,…,10。
Sample Input
11
Sample Output
1411111111
HINT
Source
#include<cstdio>#include<iostream>#include<cstring>#define ll long longusing namespace std;ll b[10] = { 1, 10, 100, 1000, 10000, 100000, 1000000,10000000, 100000000, 1000000000};ll count_num ( ll n, ll id ){ ll left, m, sum = 0; for ( int i = 1; i < 12; i++ ) { left = n / b[i] - (id==0); sum += left * b[i-1]; m = (n % b[i] - n % b[i-1]) / b[i-1]; //求出从第到高的第i位上的具体数字 if ( m > id ) sum += b[i-1]; else if ( m == id ) sum += n % b[i-1] + 1; if ( n < b[i] ) break; } return sum;}int main(){ ll n,m,f; ll a[10]; int i; cin>>n; //{ for(i=0;i<=9;i++) { a[i]=count_num(n,i)-count_num(0,i); } for(i=0;i<=9;i++) { cout<<a[i]<<endl; } //}}
0 0
- 数字统计(区间数字)
- poj3468线段树_区间数字统计
- 数字统计
- 数字统计
- 【数字统计】
- 数字统计
- 数字统计
- 数字统计
- 数字统计
- 数字统计
- 数字统计
- 数字统计
- 数字统计
- 数字统计
- 数字统计
- 数字统计
- noip2010 数字统计 (统计某一数字区间中,2出现的次数)
- noip2010 数字统计 (统计某一数字区间中,2出现的次数)
- Editor中侦听 Hierarchy 中发生变化
- HDU 5293 Tree chain problem【树形DP】
- HTML元素与属性
- 浏览器的工作机制
- C# combox不能输入的解决方法
- 数字统计(区间数字)
- java迭代器
- uva 12223(树形dp)
- *********返回按钮事件返回到另一主页面*********
- bitnami-redmine服务器迁移
- POJ Blue Jeans 3080【KMP+string】
- HDU 5115 区间DP
- shape
- HDUoj PBD 题目1703