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

PythonでKで割り切れる最小の整数


正の整数Kがあるとすると、NがKで割り切れるような最小の正の整数Nを見つける必要があり、Nには数字1のみが含まれます。Nの長さを見つける必要があります。そのようなNがない場合は、-を返します。 1.1。したがって、入力が3の場合、出力は3になります。最小の答えはN=111になります。

これを解決するには、次の手順に従います-

  • kが偶数の場合、またはkが5で割り切れる場合は、-1を返します
  • set r:=0およびN=1
  • 1からK+1の範囲のiの場合
    • r:=(r * 10 + 1)mod k
    • r =0の場合、iを返します

理解を深めるために、次の実装を見てみましょう-

class Solution(object):
   def smallestRepunitDivByK(self, K):
      if K%2==0 or K%5 ==0:
         return -1
      r = 0
      N=1
      for i in range(1,K+1):
         r = (r*10 + 1)%K
         if r == 0:
            return i
ob = Solution()
print(ob.smallestRepunitDivByK(11))

入力

11

出力

2

  1. PythonのBSTでK番目に小さい要素

    二分探索木があるとします。そのBSTでK番目に小さい要素を見つける必要があります。したがって、ツリーが次のような場合- したがって、3番目に小さい要素を見つけたい場合、k =3であり、結果は7になります。 これを解決するには、次の手順に従います- ノードと呼ばれる空のリストを1つ作成します solve(root、nodes)を呼び出す return k –ノードの1番目の要素 solveメソッドが作成されます。これはルートとノードの配列を取得します。これは次のように機能します- rootがnullの場合は、戻ります solve(ルートの左側、ノード) ルートの値をノード配列に追

  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):