運動3_3 UVA 1225デジタルの数

この困難は、各番号にそれを与えるためにデジタル処理さか疑問であり、
使用(10%/ 10)大法に!使用するのが特に簡単!ああ覚えている、
と私はデータ用若かった、私はそれように、再びテーブル、ケース全体を再生することを好みます

#include  <cstdio>
#include <cstring>
using namespace std;
int a[10][10005];
int main()
{
	int n;
	scanf("%d",&n); // a[][i] 数组表示1-i所有数 的 0-9分别的个数 
	for  (int i = 1; i < 10001; i++)
	{
		int k = i;
		while(k)
		{
			int h = k%10;  //%10
			a[h][i]++;
			k/=10;        // /10
		}
		for (int j = 0; j < 10; j++)
		 a[j][i]+=a[j][i-1];
	}
	while(n--)
	{
		int k;
		scanf("%d",&k);
		for (int i = 0; i < 10; i++)
		{   
			if(i!=9)
			printf("%d ",a[i][k]);
			else
			printf("%d\n",a[i][k]);
			
		}
	}
	
	return 0;
}
公開された55元の記事 ウォンの賞賛1 ビュー2648

おすすめ

転載: blog.csdn.net/qq_37548017/article/details/100553308