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

指定された配列にPythonの整数の約数がすべて含まれているかどうかを確認します


配列numsがあるとすると、この配列に整数の約数がすべて含まれているかどうかを確認する必要があります。

したがって、入力がnums =[1、2、3、4、6、8、12、24]のような場合、これらは24の約数であるため、出力はTrueになります。

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

  • 最大:=最大数
  • temp:=新しいリスト
  • 範囲1から最大値の平方根までのiについては、
    • 最大値がiで割り切れる場合、
      • tempの最後にiを挿入
      • (maximum / i)の商がiと同じでない場合、
        • 温度の最後に(maximum / i)の商を挿入します
    • tempのサイズがnumsのサイズと同じでない場合は、
      • Falseを返す
    • リストの数と温度を並べ替える
    • 範囲0からnums-1のサイズのiの場合、do
      • temp[i]がnums[i]と同じでない場合、
        • Falseを返す
  • Trueを返す

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

サンプルコード

from math import sqrt
 
def solve(nums):
   maximum = max(nums)
 
   temp = []
   for i in range(1,int(sqrt(maximum))+1):
      if maximum % i == 0:
         temp.append(i)
         if (maximum // i != i):
           temp.append(maximum // i)
 
   if len(temp) != len(nums):
      return False
 
   nums.sort()
   temp.sort()
 
   for i in range(len(nums)):
      if temp[i] != nums[i]:
         return False
   return True
   
nums = [1, 2, 3, 4, 6, 8, 12, 24]
print(solve(nums))

入力

[1, 2, 3, 4, 6, 8, 12, 24]

出力

True

  1. 指定された配列が単調であるかどうかを確認するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 n個の整数を含む配列入力Arrが与えられます。入力配列が本質的に単調であるかどうかを確認する必要があります。 アレイが継続的に増加または継続的に減少している場合、そのアレイは本質的に単調であると言われます。 数学的に すべてのi<=j、の場合、配列Aは継続的に増加します。 A[i] <= A[j]. すべてのi<=j、の場合、配列Aは継続的に減少しています。 A[i] >= A[j]. ここでは、隣接するすべての要素が上記の条件のいずれかを満たしているかどうかを確

  2. 指定された整数配列のすべての個別の要素を出力するPythonプログラム。

    与えられた整数配列。配列の要素が重複している可能性があります。私たちのタスクは、個別の値を表示することです。 例 Input::A=[1,2,3,4,2,3,5,6] Output [1,2,3,4,5,6] アルゴリズム Step 1: input Array element. Step 2: Then pick all the elements one by one. Step 3: then check if the picked element is already displayed or not. Step 4: use one flag variable which i