Pythonで配列の素元の合計が素数であるかどうかを確認します
配列numsがあるとします。指定された配列内のすべての素元の合計も素元であるかどうかを確認する必要があります
したがって、入力がnums =[1,2,4,5,3,3]のようである場合、すべての素数の合計が(2 + 5 + 3 + 3)=13であり、13もであるため、出力はTrueになります。プライム。
これを解決するには、次の手順に従います-
- MAX:=10000
- ふるい:=サイズMAXのリストとtrueで埋める
- 関数generate_list_of_primes()を定義します
- sieve [0]:=False、sieve [1]:=False
- 2〜MAX-1の範囲のiの場合は、
- sieve [i]が真の場合、
- 2 ^ iからMAXの範囲のjの場合、iを増やします
- sieve [j]:=False
- 2 ^ iからMAXの範囲のjの場合、iを増やします
- sieve [i]が真の場合、
- メインの方法から次の手順を実行します。
- generate_list_of_primes()
- 合計:=0
- 範囲0からarr-1のサイズのiの場合、do
- sieve [arr [i]]が真の場合、
- 合計:=合計+ arr [i]
- sieve [arr [i]]が真の場合、
- sieve [total]がtrueの場合、
- Trueを返す
- Falseを返す
理解を深めるために、次の実装を見てみましょう-
サンプルコード
MAX = 10000 sieve = [True] * MAX def generate_list_of_primes() : sieve[0] = False sieve[1] = False for i in range(2, MAX) : if sieve[i] : for j in range(2**i, MAX, i) : sieve[j] = False def solve(arr) : generate_list_of_primes() total = 0 for i in range(len(arr)) : if sieve[arr[i]] : total += arr[i] if sieve[total] : return True return False nums = [1,2,4,5,3,3] print(solve(nums))
入力
[1,2,4,5,3,3]
出力
True
-
Pythonプログラムで配列の合計を見つける
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列の合計を計算するために必要な配列が与えられます。 合計を取得するために各インデックスで配列と要素全体をトラバースするブルートフォースアプローチについては、以下で説明します。合計を取得するための各インデックスについては、以下で説明します。 例 # sum function def sum_(arr,n): # using built-in function return(sum(arr)) # main arr = [11,22,33,44,55,66
-
配列の合計を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列が与えられた場合、与えられた配列の合計を計算する必要があります。 ここでは、ブルートフォースアプローチに従うことができます。つまり、リストをトラバースし、各要素を空の合計変数に追加します。最後に、合計の値を表示します。 以下で説明するように、組み込みの合計関数を使用して別のアプローチを実行することもできます。 例 # main arr = [1,2,3,4,5] ans = sum(arr,n) print ('Sum of the array is '