在给定的数字中使用交换操作找到的最大偶数的 C++ 代码
在本文中,我们将编写一个程序,使用单个数字交换来找出最大的偶数。
让我们看看解决问题的步骤。
- 以字符串格式初始化数字。
- 遍历给定的数字。
- 找到小于或等于该数字末尾数字的偶数。
- 如果您找到所需的偶数,则中断循环。
- 如果不存在偶数,则返回给定的数字。
- 将末尾数字与您在上述步骤中找到的偶数交换。
- 返回该数字
示例
#include <bits/stdc++.h> using namespace std; string getLargestEvenNumber(string number, int n) { int even = INT_MAX, index; for (int i = 0; i < n - 1; i++) { if ((number[i] - '0') % 2 == 0) { even = (number[i] - '0'); index = i; } if (even <= (number[n - 1] - '0')) { break; } } if (even == INT_MAX) { return number; } swap(number[index], number[n - 1]); return number; } int main() { string number = "15433"; cout << getLargestEvenNumber(number, 5) << endl; return 0; }
输出
如果您运行以上代码,则会得到以下结果。
15334
结论
如果您对本教程有任何疑问,请在评论部分中提及。
广告