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