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