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

C++で数値の桁を逆にするプログラムを作成します


数字の桁を逆にするプログラムは、桁の位置を入れ替えて、その順序を逆にします。

数abcdeで、その逆はedcbaであると仮定しましょう。

問題を理解するために例を見てみましょう

入力

n = 786521

出力

125687

数値の桁を反転するには、MSB(単位桁)から数値の各桁を取得し、それを逆数値変数に追加します。その後、元の数値を10で除算し、reverse_numberに10を掛けます。これは次のように実行されます。数字は0になります。

この反復プロセスは、反復と再帰の2つの方法で実行できます。作成するプログラムを作成して、両方の方法を説明します。

方法1:反復アプローチ

#include <iostream>
using namespace std;
int reversDigitsIt(int n) {
   int reverseNumber = 0;
   while(n > 0){
      reverseNumber = reverseNumber*10 + n%10;
      n /= 10;
   }
   return reverseNumber;
}
int main() {
   int n = 4562;
   cout<<"The number is : "<<n<<endl;
   cout<<"Reverse of number is "<<reversDigitsIt(n);
   return 0;
}

出力

The number is : 4562
Reverse of number is 2654

方法2:再帰的アプローチ

#include <iostream>
using namespace std;
int reverseNumber = 0;
int numPos = 1;
void reversDigitsRec(int n) {
   if(n > 0){
      reversDigitsRec(n/10);
      reverseNumber += (n%10)*numPos;
      numPos *= 10;
   }
}
int main() {
   int n = 4562;
   cout<<"The number is : "<<n<<endl;
   reversDigitsRec(n);
   cout<<"Reverse of number is "<<reverseNumber;
   return 0;
}

出力

The number is : 4562
Reverse of number is 2654

  1. 配列を逆にするCプログラムを書く

    配列は、共通の名前で保存される関連アイテムのグループです。 構文 配列を宣言するための構文は次のとおりです- datatype array_name [size]; 初期化 配列は宣言時に初期化することもできます- int a[5] = { 10,20,30,40,50}; Cの逆配列 スワッピング手法を使用して配列を逆にすることができます。 たとえば、「P」が4つの要素を持つ整数の配列である場合- P[0] = 1, P[1] = 2, P[2] = 3 and P[3]=4 次に、反転した後- P[0] = 4, P[1] = 3, P[2] = 2 and P[3]=1

  2. 与えられた数Nの桁数を数えるプログラムをPythonで書く

    数値Nを指定したとしましょう。タスクは、数値に存在する桁の総数を見つけることです。たとえば、 入力-1 − N = 891452 出力 − 6 説明 −指定された番号891452には6桁が含まれているため、この場合は「6」を返します。 入力-2 − N = 0074515 出力 − 5 説明 −指定された番号0074515には5桁が含まれているため、出力を5として出力します。 この問題を解決するために使用されるアプローチ この問題は次の方法で解決できます 数字として入力「n」を取ります。 関数countDigits(n)は、入力「n」を受け取り、出力として桁数