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

C++でnum+Rev(num)=10^N-1となるすべてのN桁の数値の数


入力として数値Nが与えられます。目標は、num + Rev(num)=10 N となるすべてのN桁の数値の合計Countを持つすべてのN桁の数値のカウントを見つけることです。 − 1

num + rev(num)=10 N -1

入力

N=4

出力

num + Rev(num)=10 N となるすべてのN桁の数字の数 − 1は− 90

説明

The numbers would be −

1. 1188 + 8811 = 9999
2. 2277 + 7722 = 9999
3. 1278 + 8721 = 9999
……...total 90 numbers

入力

N=5

出力

Count of all N digit numbers such that num + Rev(num) = 10N − 1 are − 0

説明

As N is odd, there will be no such number as the middle element will be
added to itself and cannot have sum as 9.
Ex. 148+841=989

以下のプログラムで使用されるアプローチは次のとおりです

任意のN桁の数値について、逆数との合計は9N-1 =999..N倍になります(両方の数値の個々の桁の合計とその逆数が9の場合)。奇数のNの場合、中央の桁がそれ自体に追加されます。 。同じ整数には合計9がないため、答えは0になります。Nが偶数の場合、1番目のN番目、2番目のN-1番目、3番目のN-2番目のペアは9でなければなりません。可能なペア(1 + 8)、(2 + 7)、(3 + 6)、(4 + 5)、(5 + 4)、(6 + 3)、(7 + 2)、(8 + 1)、 (9 + 0)。答えは9* 10 N / 2 になります − 1

  • 入力として整数Nを取ります。

  • 関数digit_numbers(int N)はNを取り、num + Rev(num)=10 ^ N −1となるすべてのN桁の数値のカウントを返します。

  • 初期カウントを0とします。

  • Nが奇数の場合、N%2は1です。0を返します。

  • それ以外の場合、カウント=9 * pow(10、N / 2 − 1)を設定します。

  • 結果としてカウントを返します。

#include <bits/stdc++.h>
using namespace std;
int digit_numbers(int N){
   int count = 0;
   if (N % 2 == 1){
      return 0;
   } else {
      count = 9 * pow(10, N/2 − 1);
   }
   return count;
}
int main(){
   int N = 4;
   cout<<"Count of all N digit numbers such that num + Rev(num) = 10^N − 1 are: "<<digit_numbers(N);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Count of all N digit numbers such that num + Rev(num) = 10^N − 1 are: 90

  1. C++で数字として4を持つ1からnまでの数を数えます

    このチュートリアルでは、数字が4である1からnまでの数字を見つけるプログラムについて説明します。 このために、番号nが提供されます。私たちの仕事は、数字の1つとして4を含むすべての数字を数え、それを印刷することです。 例 #include<iostream> using namespace std; bool has4(int x); //returning sum of digits in the given numbers int get_4(int n){    int result = 0;    //calculating the

  2. C ++でa%b =kとなるような配列内のすべてのペア(a、b)を検索します

    配列Aがあるとすると、その配列から、a%b =kとなるようにすべてのペア(a、b)を取得する必要があります。配列がA=[2、3、4、5、7]、k =3であるとすると、ペアは(7、4)、(3、4)、(3、5)、(3、7)になります。 これを解決するために、リストをトラバースして、指定された条件が満たされているかどうかを確認します。 例 #include <iostream> using namespace std; bool displayPairs(int arr[], int n, int k) {    bool pairAvilable = true;