.输出多进制数 【题目描述】 输入一个小于 20 的正整数 n,要求按从小到大的顺序输出所有的 n 位 m 进制数, 每个数占一行。 【输入格式】 输入一个小于 20 的正整数 n,和一个小于 10 的正整数 m。 【输出格式】 按从小到大的顺序输出所有的 n 位 m 进制数,每个数占一行。 【样例输入】(测试数据不包含本样例) 3 2 【样例输出】 000 001 010 011 100 101 110 111
时间: 2023-07-23 13:08:28 浏览: 124
多进制输出
这个问题可以使用递归来解决。我们可以从最高位开始,逐位生成所有的 n 位 m制数。
下面是一个使用C++实现的代码示例:
```cpp
#include <iostream>
#include <vector>
using namespace std;
void generateNumbers(int n, int m, string curr) {
if (n == 0) {
cout << curr << endl;
return;
}
for (int i = 0; i < m; i++) {
generateNumbers(n - 1, m, curr + to_string(i));
}
}
int main() {
int n, m;
cin >> n >> m;
generateNumbers(n, m, "");
return 0;
}
```
希望这个代码能够帮助你解决问题!如果还有其他问题,请随时提问。
阅读全文