一个n位数,如果每一位的数字都是1、2或者3,并且所有数字之和等于k,那么就称这个数是不幸N位数。 输入n和k,从小到大输出所有的不幸N位数。 c++递归方法实现c++萌新级别无有参和无参函数无其他头文件,只有Main函数超级无敌究极好理解入门级萌新级别程序。
时间: 2024-04-13 18:31:07 浏览: 107
以下是一个非常简单的C++递归方法实现的程序,它只包括一个主函数:
```cpp
#include <iostream>
using namespace std;
void generateUnluckyNumbers(int n, int k, string number = "") {
if (n == 0) {
if (k == 0) {
cout << number << endl;
}
return;
}
for (int i = 1; i <= 3; i++) {
if (k - i >= 0) {
generateUnluckyNumbers(n - 1, k - i, number + to_string(i));
}
}
}
int main() {
int n, k;
cout << "Enter the value of n: ";
cin >> n;
cout << "Enter the value of k: ";
cin >> k;
cout << "Unlucky " << n << "-digit numbers with sum " << k << ": " << endl;
generateUnluckyNumbers(n, k);
return 0;
}
```
这个程序会根据输入的n和k值打印出所有的不幸N位数。它使用了一个递归函数`generateUnluckyNumbers`来生成数字,并在满足条件时输出结果。注意,这里假设输入的n和k都是合法的正整数。这个程序非常简单,适合初学者理解和入门。
阅读全文