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

C ++でプログラムを作成して、指定された数のすべての0を5に置き換えます


整数Nが与えられた場合、タスクは、数値に表示されるすべての0を「5」に置き換えることです。ただし、先頭に「0」が付いている番号は変更されないため、「5」に置き換えることはできません。たとえば、

入力-1

N= 1007

出力

1557

説明 −指定された数値には2つのゼロがあり、「5」に置き換えると1557として出力されます。

入力-2

N = 00105

出力

155

説明 −指定された数値は、無視できる先頭の「0」で始まり、中央の0を「5」に置き換えた後の出力は155として出力されるためです。

この問題を解決するためのアプローチ

指定された番号のすべての0を「5」に置き換えるために、番号の最後の桁を見つけて抽出できます。その番号の最後の桁が「0」の場合は、値を「5」に変更して置き換え、別の桁を抽出します。ただし、指定された番号の先頭の「0」は無視する必要があります。

この問題は、最初に最後の桁を抽出し、次にその番号の他の桁を抽出しながら同じ関数を再度呼び出す再帰アプローチを使用して解決できます。

  • 入力番号Nを取ります。

  • 整数関数converToFive(int N)は、入力として数値を受け取り、すべての0を「5」に置き換えることによって変更された数値を返します。

  • 基本的なケースでは、数値が「0」の場合は0を返し、そうでない場合はその数値の最後の桁を抽出して確認します。

  • 数値の最後の桁が「0」の場合は、値を「5」に置き換えます。

  • 「10」を割り、「10」を掛けて、数値のもう1桁をとる再帰関数を返します。

  • 最後の桁を追加して抽出する出力を返します。

#include <bits/stdc++.h>
using namespace std;
int convertToFive(int N) {
   if(N==0){
      return 0;
   }
   int last_digit= N%10;
   if(last_digit==0)
      last_digit=5;
   return convertToFive(N/10)*10 +last_digit;
}
int main() {
   int N= 14006;
   cout << convertToFive(N) << endl;
}

出力

上記のコードを実行すると、出力は次のように出力されます。

14556

指定された番号には2つの0があるため、番号14006を置き換えると、14556になります。


  1. 指定された数値の桁を合計するC++プログラム

    これは、C++言語で桁の合計を計算する例です。 例 #include<iostream> using namespace std; int main() {    int x, s = 0;    cout << "Enter the number : ";    cin >> x;    while (x != 0) {       s = s + x % 10;       x = x / 10;

  2. Pythonでプログラムを作成して、指定された数のすべての0を5に置き換えます

    整数Nが与えられた場合、タスクは、数値に表示されるすべての0を「5」に置き換えることです。ただし、先頭に「0」が付いている番号は変更されないため、「5」に置き換えることはできません。たとえば、 入力-1 − N = 1007 出力 − 1557 説明 −指定された数値には2つのゼロがあり、「5」に置き換えると1557として出力されます。 入力-2 − N = 00105 出力 − 155 説明 −指定された数値は、無視できる先頭の「0」で始まり、中央の0を「5」に置き換えた後の出力は155として出力されるためです。 この問題を解決するためのアプローチ 指定された番号のすべ