指定された配列から、要素の各ペアの合計が素数となる最大のサブセットを見つけます。最大要素が 100000 であるとします。たとえば、-
1 2 3 4 5 6 7 8 9 10 11 12 |
|
まず、数値のペアが素数かどうかを判断するには、それらの合計が奇数かどうかを確認する必要があります。偶数は、2 を除いて、偶数は素数ではないためです。さらに、両方の数が奇数または偶数の場合、それらの和は偶数になる可能性があります。
この問題では、x、y、z の 3 つの数値を使用します。そのうちの 2 つは奇数または偶数である必要があります。次に、このサブセットに素数と和のペアが含まれているかどうかを確認します。これは、次の場合に可能である可能性があります。素数。
または、サブセットに数値が 2 つだけ含まれている場合、それらの合計は素数になります。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
|
1 2 |
|
0 より大きい場合、配列を反復処理し、1 を除く各要素が nums[i] であるかどうかを確認します。1 は素数です。素数である場合は、(ones 1) の合計数を出力します。 ) サブとして セットのサイズとその数値のすべて 1。
誰も存在しない場合は、配列内の各ペアの合計が素数であることを確認します。
それ以外の場合は -1 を出力します。
結論
以上がC++ 要素の各ペアの合計が素数となる最大サブセットの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。