A27726. 门牌制作(plate.cpp)问题描述小明要给一层楼的房间安装门牌号码。一个门牌由三位数字组成,第一位为楼层号,后面两位为房间号,当楼层中有 n 个房间时,房间号由 1 至 n 连续编号。例如:当 4 层有 5 个房间时,门牌号码分别编为 401、402、403、404、405。要制作一个门牌号,必须制作对应的数字符号,并粘贴在牌子上。例如要制作 401 这个门牌号,需要数字符号 4、0、1 各…
填空题
中等
知识点
题目描述
门牌制作(plate.cpp)
问题描述
小明要给一层楼的房间安装门牌号码。一个门牌由三位数字组成,第一位为楼层号,后面两位为房间号,当楼层中有 n 个房间时,房间号由 1 至 n 连续编号。
例如:当 4 层有 5 个房间时,门牌号码分别编为 401、402、403、404、405。要制作一个门牌号,必须制作对应的数字符号,并粘贴在牌子上。
例如要制作 401 这个门牌号,需要数字符号 4、0、1 各一个;而门牌号 404 需要数字符号 4 两个,数字符号 0 一个。
给定楼层的编号,和这层楼的房间总数,请计算需要数字符号 0、1、2、3、4、5、6、7、8、9 各多少个。
输入格式
从文件 plate.in 中输入数据。 输入的第一行包含一个整数 f,表示楼层号。第二行包含一个整数 n,表示房间数量。
输出格式
输出到文件 plate.out 中。
输出一行,包含十个整数,依次表示需要数字符号 0、1、2、3、4、5、6、7、8、9 的个数。相邻的数之间使用一个空格分隔。
样例输入
4 5
样例输出
5 1 1 1 6 1 0 0 0 0
评测用例规模与约定
注意:以下规模是评测时输入数据一定会满足的限制,在你的程序中不需要对这些限制进行检查。对于所有评测用例,1 ≤ f ≤ 9,1 ≤ n ≤ 99。
参考答案
#include <cstdio>
#include <iostream>
using namespace std;
int cnt[10] = {};
int main()
{
freopen("plate.in", "r", stdin);
freopen("plate.out", "w", stdout);
int f, n;
cin >> f >> n;
for (int j = 1; j <= n; j++)
{
cnt[f]++; // 百位
cnt[j / 10]++; // 十位
cnt[j % 10]++; // 个位
}
for (int i = 0; i <= 9; i++)
{
cout << cnt[i] << " ";
}
cout << endl;
return 0;
}
上一题
下一题