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

Xで割り切れる最大のK桁の数値のC++プログラム?


この問題では、Xで割り切れる最大のK桁の数を見つけようとします。このタスクを実行するには、この式((10 ^ k)– 1)で最大のK桁の数を取得します。次に、数値がXで割り切れるかどうかを確認します。割り切れない場合は、この数式を使用して正確な数値を取得します。

𝑚𝑎𝑥−(𝑚𝑎𝑥 𝑚𝑜𝑑 𝑋)

1つの例は、29で割り切れる5桁の数字のようなものです。したがって、最大の5桁の数字は99999です。これは29で割り切れません。ここで、式を適用すると、-

が得られます。
99999−(99999 𝑚𝑜𝑑 29)=99999−7=99992

数値99992は29で割り切れます。

アルゴリズム

maxKDigit(k、x)

begin
   max = (10^k) - 1
   if max is divisible by x, return max
   otherwise return max – (max mod x)
end

#include<iostream>
#include<cmath>
using namespace std;
long max_k_digit(int k, int x){
   //get the maximum number of k digits
   int max = pow(10, k) - 1;
   if(max % x == 0){
      return max;
   }
   return (max) - (max % x);
}
main() {
   int k, x;
   cout << "Enter Digit Count(K) and Divisor(N): ";
   cin >> k >> x;
   cout << "Result is: " << max_k_digit(k, x);
}

出力

Enter Digit Count(K) and Divisor(N): 5 29
Result is: 99992


出力

Enter Digit Count(K) and Divisor(N): 6 87
Result is: 999978

  1. C++での10進数から2進数への変換プログラム

    10進数を入力として指定すると、タスクは指定された10進数を2進数に変換することです。 コンピューターの10進数は10進数で表され、2進数は2進数の0と1の2つしかないため、2進数で表されますが、10進数は0〜9から始まる任意の数値にすることができます。 10進数を2進数に変換するには、次の手順に従います- まず、指定された数値を変換数値の基本値で除算します。例: 42を2を底とする2進数に変換し、商を取得して格納する必要があるため、42を2で除算します。余りが0の場合、ビットを0として格納します。それ以外の場合は1です。 取得した商を2進数の基数である2で除算し、ビットを格納し続けます

  2. Xで割り切れる最小のK桁の数のためのPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 整数nとdが与えられます。 dで割り切れる最小のn桁の数を見つける必要があります。 アプローチ 1. FirstNowでは、MIN:最小のn桁の数値(1000 ... n回)を計算してみましょう 2.ここで、MIN%Xが0の場合、ans =MIN 3.それ以外の場合、ans =(MIN + X)-((MIN + X)%X)) これは、範囲[MIN ... MIN+X]にdで割り切れる数があるためです。 それでは、実装を見てみましょう- 例 def answer(n, d):