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

C++では奇数の0で構成されるN桁の数を数えます


入力として数値Nが与えられます。目標は、数字として0の奇数を持つすべてのN桁の数字を見つけることです。 N =3の場合のように、数値の前にゼロを付けることもできます。含まれる数値は000,011,012….990になります。

例を挙げて理解しましょう。

入力 − n =3

出力 −いいえのカウント。偶数の0で構成されるN桁の場合は− 244

説明 −3桁の数字はすべて次のようになります-

Smallest will be 000, then 011,012,013,0014…..Highest will be 990.

入力 − n =5

出力 −いいえのカウント。偶数の0で構成されるN桁の場合は− 33616

説明 −5桁の数字はすべて次のようになります-

Smallest will be 00000, then 00011,00012,00013,0014…..Highest will be 99990.

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

まず、T=10N-1である合計N桁の数字を計算します。次に、0を数字として含むすべてのN桁の数値、つまりE=10N-8Nを計算します。数字で表したOdd0の残りの数字は、(T-E)/2になります。

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

  • 関数count_dd(int N)はNを取り、奇数の0を持つN桁の数値の数を返します。

  • 合計N桁の数字はtotal=pow(10、N)-1

  • 数字が偶数の合計N桁の数字は、even =pow(10、N)-pow(8、N)です。

  • 数字の残りの奇数0はodd=(total-even)/2です。

  • 奇数が0のN桁の数値のカウントとして奇数を返します。

#include <bits/stdc++.h>
using namespace std;
int count_odd(int N){
   int total = pow(10, N);
   int even = pow(8, N);
   int odd = (total - even) / 2;
   return odd;
}
int main(){
   int N = 4;
   cout<<"Count of Numbers with N digits which consists of odd number of 0's are: "<<count_odd(N);
return 0;
}

出力

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

Count of Numbers with N digits which consists of odd number of 0's are: 2952

  1. C++でDで割り切れるN桁の数値を検索します

    NとDの2つの数があるとします。Dで割り切れるN桁の数を見つける必要があります。Nが3で、Dが5の場合、数は500になります。これは簡単に解決できます。 Dが10でNが1の場合、それは不可能です。 Dを入れて、Dの桁数がmであると仮定し、N – m個の0を付けて、N桁の数でDで割り切れるようにします。 例 #include<iostream> using namespace std; string nDigitDivByD(int n, int d) {    string ans = "";    if (d <

  2. Pythonで偶数桁の数を検索する

    番号のリストがあるとします。桁数が偶数の数を数える必要があります。したがって、配列が[12,345,2,6,7896]の場合、12と7896の桁数は偶数であるため、出力は2になります。 これを解決するには、次の手順に従います- リストを取得し、各整数を文字列に変換します 文字列の長さが偶数の場合は、カウントを増やし、最後にカウント値を返します 例 理解を深めるために、次の実装を見てみましょう- class Solution(object):    def findNumbers(self, nums):       str_num =