C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で指定された数の1つのスワップ操作を使用することで可能な最大の偶数


このチュートリアルでは、1回の数字の入れ替えで可能な限り最大の偶数を見つけるプログラムを作成します。

問題を解決するための手順を見てみましょう。

  • 文字列形式で番号を初期化します。
  • 指定された番号を繰り返し処理します。
    • 数値の最後の桁以下の偶数の桁を見つけます。
    • 目的の偶数桁が見つかったら、ループを解除します。
  • 偶数桁が存在しない場合は、指定された数値を返します。
  • 最後の桁を上記の手順で見つけた偶数の桁と交換します。
  • 番号を返す

#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

結論

チュートリアルに質問がある場合は、コメントセクションにそのことを記載してください。


  1. C ++を使用して、指定されたポイントから可能な四辺形の数を見つけます

    四辺形は、ユークリッド平面幾何学で4つの頂点と4つのエッジを持つポリゴンを形成します。名前4-gonなど。四辺形の他の名前に含まれ、正方形、表示スタイルなどとしても知られています。 この記事では、与えられた点から可能な四辺形の数を見つけるためのアプローチを説明します。この問題では、デカルト平面に提供された4つの点(x、y)を使用して作成できる四辺形の数を調べる必要があります。だからここに与えられた問題の例があります- Input : A( -2, 8 ), B( -2, 0 ), C( 6, -1 ), D( 0, 8 ) Output : 1 Explanation : One quadr

  2. 順序統計アルゴリズムを使用して、指定されたリストからi番目に大きい数を見つけるC++プログラム

    これは、Order-StatisticAlgorithmを使用して特定のリストからi番目に大きい数を見つけるC++プログラムです。 アルゴリズム Begin    function Insert() to insert nodes into the tree:    Arguments:       root, d.       Body of the function:       If tree is completely null then insert ne