在 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 婆婆高寿祝福语大全简短