Pythonの要素のリストの最大公約数を見つけるプログラム
numsという要素のリストがあるとすると、各整数を除算する最大の正の値を見つける必要があります。
したがって、入力がnums =[15、81、78]の場合、出力は3になります。これは、3が15、81、および78すべてを除算する最大の整数であるためです。
これを解決するには、次の手順に従います-
-
numsのサイズが1と同じ場合、
-
nums [0]
を返します
-
-
div:=nums[0]とnums[1]のgcd)
-
numsのサイズが2と同じ場合、
-
divを返す
-
-
範囲1からnums-2のサイズのiの場合、実行
-
div:=divとnumsのgcd[i + 1]
-
divが1と同じ場合、
-
divを返す
-
-
-
divを返す
例
理解を深めるために、次の実装を見てみましょう
from math import gcd def solve(nums): if len(nums) == 1: return nums[0] div = gcd(nums[0], nums[1]) if len(nums) == 2: return div for i in range(1, len(nums) - 1): div = gcd(div, nums[i + 1]) if div == 1: return div return div nums = [15, 81, 78] print(solve(nums))
入力
[15, 81, 78]
出力
3
-
リスト内の要素の合計を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力としてリストが与えられた場合、与えられたリストの合計を計算する必要があります。 ここでは、考慮すべき2つのアプローチがあります。つまり、組み込み関数を使用する方法と、ブルートフォースアプローチを使用する方法です。 アプローチ1-組み込み関数の使用 例 # main arr = [1,2,3,4,5] ans = sum(arr) print ('Sum of the array is ',ans) 出力 15 すべての変数と関数はグローバルスコープで宣言されて
-
3つのソートされた配列で共通の要素を見つけるPythonプログラム?
ここでは、最初にユーザー入力のソートされていない配列である3つの配列を作成し、次に3つのソートされていない配列すべてをソートします。配列のサイズはn1、n2、n3です。すべての配列の開始アドレスは0.i =0、j =0、k =0です。次に、3つの配列のすべての要素をトラバースし、3つの配列の要素が同じかどうかを確認します。そうでない場合は、要素を印刷し、そうでない場合は次の要素に進みます。 例 A = {1, 2, 3, 4, 5} B = {2, 5, 12, 22, 7} C = {1, 9, 2, 89, 80} 出力 2 アルゴリズム commonele(A1,A2,A3,n