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

C ++を使用して、xとその数字の合計が与えられたnと等しくなるような数xを見つけます。


ここで、1つの問題が発生します。ここで、数値nを取得する場合、x +桁の合計xが指定された数値nと同じになるように、xなどの別の値を見つける必要があります。 nの値が21であると仮定します。このプログラムは、15+桁の合計15、つまり15 + 1 + 5 =21=nとして数値x=15を返します。

この問題を解決するには、単純なアプローチに従う必要があります。 1からnまで繰り返し、各繰り返しで、数値とその桁の合計の合計が数値と同じであるかどうかを確認し、停止します。それ以外の場合は続行します。

#include<iostream>
using namespace std;
int getDigitSum(int n) {
   int sum = 0;
   while (n) {
      sum += n % 10;
      n /= 10;
   }
   return sum;
}
int getNumber(int n) {
   for (int i = 0; i <= n; i++)
      if (i + getDigitSum(i) == n)
         return i;
   return -1;
}
int main() {
   int n = 21;
   cout << "The value of x is: " << getNumber(n);
}

出力

The value of x is: 15

  1. xとその桁の合計がC++で指定されたnと等しくなるような数xを見つけます

    ここで、1つの問題が発生します。ここで、数値nを取得する場合、x +桁の合計xが指定された数値nと同じになるように、xなどの別の値を見つける必要があります。 nの値が21であると仮定します。このプログラムは、15+桁の合計15、つまり15 + 1 + 5 =21=nとして数値x=15を返します。 この問題を解決するには、単純なアプローチに従う必要があります。 1からnまで繰り返し、各繰り返しで、数値とその桁の合計の合計が数値と同じであるかどうかを確認し、停止します。それ以外の場合は続行します。 例 #include<iostream> using namespace std; i

  2. PythonでAで割り切れ、その桁の合計がBに等しくなるような最小の正の整数を見つけます

    2つの数AとBがあるとすると、MがA​​で割り切れ、Mの桁の合計がBと同じになるように、最小の正の数Mを見つける必要があります。したがって、そのような結果がない場合は、-を返します。 1. したがって、入力がA =50、B =2の場合、出力は200になります。これは、50で割り切れ、その桁の合計=2 + 0 + 0=2です。 これを解決するには、次の手順に従います- 2つの数値aとbと1つの文字列を含む1つの要素タイプのコンテナを定義します que:=新しいリスト elem:=(0、0、空白の文字列)を含む新しい要素 訪問済み[0,0]:=1 queの最後