ホームページ  >  記事  >  バックエンド開発  >  C++ で数値を可能な最大数の素数の合計として表現します。

C++ で数値を可能な最大数の素数の合計として表現します。

PHPz
PHPz転載
2023-08-31 16:29:161209ブラウズ

C++ で数値を可能な最大数の素数の合計として表現します。

#問題について話し合います。たとえば、数値 N が与えられた場合、その数値を最大の素数と

Input: N = 7
Output: 2 2 3
Explanation: 7 can be represented as the sum of two 2’s and a 3 which are the maximum possible prime numbers.

Input : N = 17
Output: 2 2 2 2 2 2 2 3

解決方法

## に分割する必要があります。 # 素数で数値を表すには、N から素数を減算し、素数の差を確認します。差が素数であれば、N を 2 つの素数の和として表すことができます。

しかし、ここでは素数の最大数を見つける必要があり、そのためには最小素数、つまり 2 と 3 を取得する必要があります。 2でも3でもお好きな数字をお作りいたします。

    偶数を確認してください。偶数の場合は、(N/2) 2 の合計で構成できます。
  • は、3 つの合計 [(N-3) / 2]、または奇数の場合は 2 で構成できます。
  • このようにして、最大の素数の合計を使用して N を表すことができます。
#include <bits/stdc++.h>
using namespace std;
int main(){
   int N = 7;
   // checking if N is odd,
   // If yes, then print 3
   // and subtract 3 from N.
   if (N & 1 == 1) {
      cout << "3 +";
      N -= 3;
   }
   // // keep subtracting and printing 2
   // until N is becomes 0.
   while (N!=2) {
      cout << " 2 +";
      N -= 2;
   }
   cout << " 2";
   return 0;
}

出力

3 + 2 + 2

結論

このチュートリアルでは、数値を素数の最大数として表すことについて説明しました。和。この問題を解決する簡単な方法、つまり数値を 2 と 3 の和として表す方法について説明しました。この問題を解決するための C プログラムについても説明しました。C、Java、Python などのプログラミング言語を使用して実装できます。このチュートリアルがお役に立てば幸いです。

以上がC++ で数値を可能な最大数の素数の合計として表現します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。