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

C++で数値の繰り返し桁数がNであるM番目の数値を検索します


この問題では、2つの正の数NとMが与えられます。私たちのタスクは、数値の桁の繰り返しの合計がNであるM番目の数を見つけることです。

問題の説明: ここでは、合計が1桁になるまでの桁の合計がNに等しいM番目の数を見つける必要があります。

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

入力: N =4 M =6

出力: 49

ソリューションアプローチ

この問題の簡単な解決策は、すべての数値を見つけて、桁の合計がNである数値を数え、m番目の数値を返すことです。

この問題のもう1つの解決策は、数式を使用して、桁の合計がNに等しいM番目の数値を見つけることです。

M番目の数値=(m-1)* 9 + N

ソリューションの動作を説明するプログラム

#include <bits/stdc++.h>
using namespace std;

int main() {

   int n = 4, m = 6;
   int mNumber = (m - 1) * 9 + n;
   cout<<m<<"-th number whose repeated sum of digits of a number is "<<n<<" is "<<mNumber;
   return 0;
}

出力

6-th number whose repeated sum of digits of a number is 4 is 49

  1. C ++を使用して、数値の奇数因子の合計を求めます。

    このセクションでは、効率的な方法で、数値のすべての奇数の素因数の合計を取得する方法を説明します。 n =1092と言う数があります、これのすべての要因を取得する必要があります。 1092の素因数は2、2、3、7、13です。すべての奇数の因数の合計は3 + 7 + 13 =23です。この問題を解決するには、この規則に従う必要があります- 数値が2で割り切れる場合は、その係数を無視して、数値を2で繰り返し除算します。 これで、数値は奇数になります。ここで、数値の3から平方根まで、数値が現在の値で割り切れる場合は、合計で係数を加算し、現在の数値で除算して数値を変更してから続行します。 最後に、残り

  2. 合計が1桁になるまで数値の桁の合計を見つけるC++プログラム

    この記事では、合計自体が1桁になり、それ以上の合計ができなくなるまで、数値の桁の合計を見つけるプログラムについて説明します。 たとえば、数値14520の場合を考えます。この数値の桁を加算すると、1 + 4 + 5 + 2 + 0 =12になります。これは1桁の数値ではないため、受け取った数値の桁をさらに加算します。 。それらを追加すると、1 + 2=3になります。 さて、3はそれ自体が1桁の数字であり、その数字をそれ以上追加できないため、最終的な答えです。 これを解決するには、9で割り切れる数の桁の合計が9のみに等しいというアプローチを使用します。 9で割り切れない数値については、9で割