若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

1701: 统计数字问题

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,196

题目描述

一本书的页码从自然数1 开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第6 页用数字6 表示,而不是06 或006 等。数字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1, 2,…,9。给定表示书的总页码的10 进制整数n (1≤n≤109) 。计算书的全部页码中分别用到多少次数字0,1,2,…,9。

输入

输入数据只有1 行,给出表示书的总页码的整数n。

输出

输出数据共有10行,在第k行输出页码中用到数字k-1 的次数,k=1,2,…,10。

样例输入

11

样例输出

1
4
1
1
1
1
1
1
1
1

参考代码

#include <stdio.h>
int value;
int d[11];
void deal(int n) 
{
    if(n<=0)
    return ;
    int one,ten;
    one=n%10;
    n/=10;
    ten=n;
    for (int i=0;i<=one;i++)
    d[i]+=value;
    while(ten) 
    {
        d[ten%10]+=(one+1)*value;
        ten/=10;
    }
    for (int i=0;i<10;i++)
    d[i]+=value*n;
    d[0]-=value;
    value*=10;
    deal(n-1);
}
int main() 
{
    int a,i;
    scanf("%d",&a);
    for (i=0;i<10;i++)
    d[i]=0;
    value=1;
    deal(a);
    for (i=0;i<10;i++)
    printf("%dn",d[i]);
return 0;
}

解析

暂无

hustoj

发表评论 取消回复

电子邮件地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

原站点 Dreams孤独患者 Skip
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist