Pythonで2つの数値のシフトされたテーブル間の最小の違いを見つける
2つの数値pとqがあるとすると、pとqのシフトされた無限テーブル内の任意の項間の最小差を見つける必要があります。これらのシフトはrとsです。ここで、r、 s>=0。
したがって、入力がp=7およびq=17、r=6およびs=3の場合、出力は0になります。7の表=[7、14、21、28、35、42、49、 ...]および17のテーブル=[17、34、51、68、85、102、119、...]の場合、7のシフトされたテーブルは[13、20、27、34、41、48、55になります、...]および17のシフトされたテーブルは[20、37、54、71、88、105、121、...]になり、これらのシフトされたテーブルの2つの項の最小差は20-20=0になります。
これを解決するには、次の手順に従います-
-
g:=(p、q)のgcd
-
違い:=| r-s | mod g
-
差の最小値とgを返します-差
例
理解を深めるために、次の実装を見てみましょう-
import math def get_minimum_diff (p, q, r, s): g = math.gcd(p,q) difference = abs(r-s) % g return min(difference, g - difference) p = 7 q = 17 r = 6 s = 3 print(get_minimum_diff(p, q, r, s))
入力
7,17,6,3
出力
0
-
いいえが2の累乗であるかどうかを調べるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 数nが与えられた場合、与えられた数が2の累乗であるかどうかを確認する必要があります。 アプローチ 入力数を2で割り続けます。つまり、=n/2を繰り返します。 各反復で、n%2がゼロ以外になり、nが1でない場合、nは2の累乗ではないことを確認します。 nが1になると、2の累乗になります。 以下の実装を見てみましょう- 例 def isPowerOfTwo(n): if (n == 0): retur
-
2つのリストの違いをリストするPythonプログラム。
この問題では、2つのリストが与えられます。私たちのタスクは、2つのリストの違いを表示することです。 Pythonはset()メソッドを提供します。ここではこの方法を使用します。セットは、重複する要素がない順序付けられていないコレクションです。セットオブジェクトは、和集合、共通部分、差、対称差などの数学演算もサポートしています。 例 Input::A = [10, 15, 20, 25, 30, 35, 40] B = [25, 40, 35] Output: [10, 20, 30, 15] 説明 difference list = A - B アルゴリズム Step 1: Inp