在 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
结论
如果您对本教程有任何疑问,请在评论部分提及。
热门推荐
10 给同学祝福语大全简短
11 简短生日祝福语致姐姐
12 祝福语简短独特给妈妈
13 送牙膏的祝福语 简短
14 少年学长学姐祝福语简短
15 公司年会祝福语大全 简短
16 大哥生日祝福语简短独特
17 高逼格简短祝福语
18 单位通知元旦祝福语简短