Heim >Backend-Entwicklung >C++ >Stellen Sie eine Zahl als Summe der größtmöglichen Anzahl von Primzahlen in C++ dar

Stellen Sie eine Zahl als Summe der größtmöglichen Anzahl von Primzahlen in C++ dar

PHPz
PHPznach vorne
2023-08-31 16:29:161280Durchsuche

Stellen Sie eine Zahl als Summe der größtmöglichen Anzahl von Primzahlen in C++ dar

Besprechen Sie ein Problem. Wenn wir beispielsweise eine Zahl N gegeben haben, müssen wir die Zahl in die größte Primzahl und

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

Lösungsmethode

aufteilen. Um eine Zahl durch Primzahlen darzustellen, können wir a subtrahieren Primzahl aus N, dann auf Unterschiede in den Primzahlen prüfen. Wenn die Differenz eine Primzahl ist, können wir N als Summe zweier Primzahlen ausdrücken.

Aber hier müssen wir die maximale Anzahl an Primzahlen finden und dafür sollten wir die minimalen Primzahlen nehmen, also 2 und 3. Wir können jede Zahl aus 2 und 3 bilden.

  • Überprüfen Sie die Anzahl der geraden Zahlen. Wenn es sich um eine gerade Zahl handelt, kann sie aus der Summe von (N/2) 2 bestehen.

  • kann aus einer Dreiersumme [(N-3)/2] oder 2 bestehen, wenn es eine ungerade Zahl ist.

  • Auf diese Weise können wir die Summe der größten Primzahlen verwenden, um N darzustellen.

Beispiel

#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;
}

Ausgabe

3 + 2 + 2

Fazit

In diesem Tutorial haben wir darüber gesprochen, wie man eine Zahl als Summe der größten Primzahlen darstellt. Wir haben einen einfachen Weg besprochen, dieses Problem zu lösen, indem wir die Zahl als Summe von 2 und 3 ausdrücken. Wir haben auch C++-Programme zur Lösung dieses Problems besprochen, die wir mithilfe von Programmiersprachen wie C, Java, Python usw. implementieren können. Wir hoffen, dass Sie dieses Tutorial hilfreich fanden.

Das obige ist der detaillierte Inhalt vonStellen Sie eine Zahl als Summe der größtmöglichen Anzahl von Primzahlen in C++ dar. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen