在 C++ 中具有相同数量的数字 A 和 B 的下一个大于 N 的数字
在本教程中,我们将编写一个程序,用于查找具有相同数量A和B的下一个更大的数字。
给定N、A和B。找出大于N且A 和B 位数相同的数。让我们看一个例子。
N = 1234 A = 2 B = 3
让我们看看解决问题的步骤。
初始化A、B和N。
写一个递归函数。
检查当前号码是否大于N且A和B位数是否相等。
如果满足上述条件,则返回数字。
通过添加A和B递归调用该函数。
示例
让我们看看代码。
#include输出结果using namespace std; long getNextGreaterElement(long result, int A, int A_Count, int B, int B_Count, int N) { if (result > 1e11) { return 1e11; } if (A_Count == B_Count && result >= N) { return result; } return min(getNextGreaterElement(result * 10 + A, A, A_Count + 1, B, B_Count, N), getNextGreaterElement(result * 10 + B, A, A_Count, B, B_Count + 1, N)); } int main() { int N = 1234; int A = 2; int B = 3; cout << getNextGreaterElement(0, A, 0, B, 0, N) << endl; return 0; }
如果你运行上面的代码,那么你会得到下面的结果。
2233
结论
如果您对本教程有任何疑问,请在评论部分提及。