PythonでさまざまなサブシーケンスGCDの数を見つけるプログラム
正の値の配列numがあるとします。 numsのすべての空でないサブシーケンスの中から異なるGCDの数を見つける必要があります。私たちが知っているように、数列のGCDは、数列内のすべての数を均等に分割する最大値です。
したがって、入力がnums =[4,6,18]の場合、gcd([4])=4、gcd([6])=6、gcd([18])=18であるため、出力は4になります。 gcd([4,6])=2、gcd([4,18])=2、gcd([6,18])=6、gcd([4,6,18])=2なので、すべての数値は[ 4,6,18,2]、4つの数字があります。
これを解決するには、次の手順に従います-
-
T:=最大数+ 1
-
nums:=すべての異なる数のnumsを含む新しいセット
-
ans:=0
-
1からT-1の範囲のxの場合、実行
-
g:=0
-
xからT-1の範囲のyについては、各ステップでxずつ更新します。
-
yがnumsの場合、
-
g:=gcd(g、y)
-
-
gがxと同じ場合、
-
ループから出てくる
-
-
-
gがxと同じ場合、
-
ans:=ans + 1
-
-
-
ansを返す
例
理解を深めるために、次の実装を見てみましょう
from math import gcd def solve(nums): T = max(nums) + 1 nums = set(nums) ans = 0 for x in range(1, T): g = 0 for y in range(x, T, x): if y in nums: g = gcd(g, y) if g == x: break if g == x: ans += 1 return ans nums = [4,6,18] print(solve(nums))
入力
[4,6,18]
出力
4
-
リスト内で最大数を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 与えられたリスト入力では、与えられたリストの中で最大の数を見つける必要があります。 ここでは、2つのアプローチについて説明します 並べ替え手法の使用 組み込みのmax()関数を使用する アプローチ1-組み込みのsort()関数を使用する 例 list1 = [18, 65, 78, 89, 90] list1.sort() # main print("Largest element is:", list1[-1]) 出力 Largest element is:
-
Pythonで素数を見つけるためのさまざまな方法
まず、素数が何であるかを知る必要があります。 素数は常に正の整数であり、正確に2つの整数(1とその数自体)で割り切れます。1は素数ではありません。 次に、素数を見つけるためのいくつかの方法について説明します。 メソッド1 Forループの使用 例 def primemethod1(number): # Initialize a list my_primes = [] for pr in range(2, number): isPrime = True