Heim > Backend-Entwicklung > C++ > Hauptteil

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

PHPz
Freigeben: 2023-08-31 16:29:16
nach vorne
1260 Leute haben es durchsucht

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
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Ausgabe

3 + 2 + 2
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage