一本书的页码从自然数1开始顺序编码直到自然数n。求的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如第6页为6而非06或006等。试统计给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1,2…,9。
#include<stdio.h>
#include<string.h>
int main()
{
int n, t, i,temp;
int count[10];
memset(count, 0, sizeof(count));
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
t = i;
while (t)
{
temp = t % 10;
count[temp]++;
t = t / 10;
}
}
for (i = 0; i < 10; i++)
{
printf("%d\n", count[i]);
}
return 0;
}
第一种算法遇到大数时会很慢