在給定的數字中使用交換操作找到的最大偶數的 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
結論
如果您對本教程有任何疑問,請在評論部分中提及。
廣告