您的位置:首页 > 其它

UVa 1225 - Digit Counting【打表】

2015-10-05 20:46 197 查看
原题地址:
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3666
刚见到的时候感觉没有好的方法处理,然后突然发现,可以打表啊......

然后想到二维数组打表,但是数组来回赋值比较麻烦........就采用结构体打表了...........

采用的统计方法也很好......数组下标...

#include<stdio.h>
#include<string.h>
struct digit
{
int num[10];
}x[10005];
void db()
{
int cnt=0;
for(int i=1;i<10005;++i)
{
int tp=i;
x[i]=x[i-1];//这样赋值方便
while(tp)//统计
{
++x[i].num[tp%10];
tp/=10;
}
}
}
int main()
{
int t;db();
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
for(int i=0;i<9;++i)
{
printf("%d ",x
.num[i]);
}
printf("%d\n",x
.num[9]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: