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

素数を含む配列の積がPythonで完全な正方形であるかどうかを確認します


すべての素数を含む配列numがあるとします。 numsに存在するすべての数値の積が完全な正方形であるかどうかを確認する必要があります。

したがって、入力がnums =[3,3,7,7]の場合、numsのすべての要素の積が441であるため、出力はTrueになります。これは、21 ^ 2=441の完全な正方形です。

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

  • m:=numsのすべての要素とその頻度を含むマップ
  • numsのキーごとに、
    • m [key]が奇数の場合、
      • Falseを返す
  • Trueを返す

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

from collections import defaultdict
def solve(nums) :
   m = defaultdict(int)
   for key in nums :
      m[key] += 1
   for key in nums :
      if m[key] % 2 == 1 :
         return False
   return True
nums = [3,3,7,7]
print(solve(nums))

入力

[3,3,7,7]

出力

True

  1. C++の配列内のすべての素数の積

    いくつかの要素を持つ整数配列arr[]が与えられた場合、タスクはその数のすべての素数の積を見つけることです。 素数は、1で割った数、またはその数自体です。または、素数は、1とその数自体を除いて他の数で割り切れない数です。 1、2、3、5、7、11など 与えられた配列の解を見つける必要があります- 入力 −arr [] ={11、20、31、4、5、6、70} 出力 − 1705 説明 −配列の素数は− 11、31、5であり、それらの積は1705 入力 − arr [] ={1、2、3、4、5、6、7} 出力 − 210 説明 −配列の素数は− 1、2、3、5、7

  2. PythonのSelfを除く配列の製品

    1であるn個の整数のnumsという配列があるとします。output[i]がnums[i]を除くnumsのすべての要素の積に等しくなるような配列出力を見つける必要があります。したがって、入力配列が[1,2,3,4]の場合、出力は[24,12,8,6]になります。除算演算子を使用せずにこれを解決する必要があります。 これを解決するには、次の手順に従います- right_mul:=numsと同じサイズの配列、0で埋める right_mulの最後の要素=numsの最後の要素 1からnumsの長さのiの場合 right_mul [numsの長さ– i – 1] =right_mul [numsの