在l-r的整数中,每个数各位上每个数字一共出现多少次? Input 一行,包含两个整数,用空格隔开的M和N。 Output 一行,包含十个用空格隔开的整数,分别表示数字0,1,2,3,......,9在序列中出现的次数。 Sample Input 129 137 Sample Output 1 10 2 9 1 1 1 1 0 1 HINT 备注:均在int范围 c++代码
时间: 2024-04-13 08:31:21 浏览: 166
用java实现,随机产生100个0到9的整数(这里以二维数组显示),并计算出每个数出现的次数
下面是用C++编写的代码,用于计算在给定的整数范围内,每个数字出现的次数:
```cpp
#include <iostream>
#include <vector>
std::vector<int> countDigits(int l, int r) {
std::vector<int> count(10, 0); // 初始化计数器,用于统计0到9每个数字的出现次数
for (int i = l; i <= r; i++) {
int num = i;
while (num > 0) {
int digit = num % 10; // 提取个位数字
count[digit]++; // 更新对应数字的出现次数
num /= 10; // 去掉个位数字
}
}
return count;
}
int main() {
int l, r;
std::cin >> l >> r;
std::vector<int> count = countDigits(l, r);
for (int i = 0; i < 10; i++) {
std::cout << count[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
您可以运行这段代码,输入范围的起始值和结束值,它将输出0到9每个数字在该范围内出现的次数。在您提供的示例输入中,它将输出`1 10 2 9 1 1 1 1 0 1`。
阅读全文