1 条题解
-
0
参考答案:
#include<iostream> #include<cmath> using namespace std; int a, b; int f(int x) { int res = 0; while (x) { res++; x /= 10; } return res; } int cal(int i, int x) { int res = 0; int sum = f(x); for (int j = 1; j <= sum; ++j) { int p = pow(10, j - 1), l = x / p / 10, r = x % p, pj = x / p % 10; if (i) res += l * p; if (!i) res += (l - 1) * p; if (pj > i) res += p; if (pj == i) res += r + 1; } return res; } int main() { while (cin >> a >> b, a && b) { if (a > b) swap(a, b); for (int i = 0; i <= 9; ++i) { cout << cal(i, b) - cal(i, a - 1) << ' '; } cout << endl; } return 0; }
- 1
信息
- ID
- 5361
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 4
- 已通过
- 1
- 上传者