#include <bits/stdc++.h>
using namespace std;
const int N = 15;
int n;
int dp[N][N][N];
int a[N],f[N];
int main() {
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
for (int t = 0; t < 23; t++) {
scanf("%d", &n);
int k = 0;
while (n) {
a[k++] = n % 10;
n /= 10;
}
int d = 1;
memset(dp, 0, sizeof dp);
for (int i = 0; i < k; i++) {
for (int j = 0; j < 10; j++) {
for (int y = 0; y < 10; y++) {
if (i > 0) {
for (int x = 0; x < 10; x++) {
dp[i][j][y] += dp[i - 1][x][y];
}
}
if (j == y) {
dp[i][j][y] += d;
}
}
}
d *= 10;
}
memset(f, 0, sizeof f);
for (int i = 0; i < 10; i++)
for (int j = 0; j < k; j++)
for (int x = 0; x < a[j]; x++)
f[i] += dp[j][x][i];
int x = 1, y = 0;
for (int i = 0; i < k; i++) {
f[a[i]] += y + 1;
y += x*a[i];
f[0] -= x;
x *= 10;
}
f[0]++;
for (int i = 0; i < 10; i++)
printf(i == 9 ? "%d\n" : "%d ", f[i]);
}
}
转载于:https://www.cnblogs.com/HaibaraAi/p/4356091.html