Software-OK
≡... News | ... Home | ... FAQ | Impressum | Kontakt | Gelistet bei | Danke |

  
HOME ► Faq ► FAQ - Windows-CPP-und-C ► ««« »»»

Ist eine Zahl eine Primzahl in C++?


Die Funktion IstEinePrimzahl gibt true zurück, wenn die übergebene Zahl eine Primzahl ist, andernfalls gibt sie false zurück!




Inhalt:

1.) ... Primzahl-Ermittlung  CPP!
2.) ... Erläuterung des CPP Kodes: zur Primzahl-Ermittlung!
3.) ... Vor- und Nachteile der Primzahl-Ermittlung  CPP!


1.) Primzahl-Ermittlung  CPP!

Beachte, dass die Funktion nur für positive ganze Zahlen funktioniert.

// Primzahlen.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung.
// Nenad Hrg 2011 http://www.softwareok.de
 
#include <stdio.h>
#include <cmath>
#include <conio.h>
 
// conio.h wurde hinzugefügt, um Tastatureingaben zu verarbeiten
 
bool IstEinePrimzahl(int Zahl)
{
 
       // Falls Zahl kleiner oder gleich 1 ist, ist sie keine Primzahl
 
      if (Zahl <= 1) return false;
 
       // 2 ist eine Primzahl
 
      if (Zahl == 2) return true;
 
       // Falls die Zahl gerade ist (außer 2), ist sie keine Primzahl
 
      if (Zahl % 2 == 0) return false;
 
      // Berechne die Wurzel und runde sie ab
 
      int Grenzwert = floor(sqrt(Zahl));
 
      // Überprüfe mögliche Teiler, beginnend bei 3
      for (int i = 3; i <= Grenzwert; i += 2)
 
      // Wenn i ein Teiler ist, ist die Zahl keine Primzahl
      if (Zahl % i == 0)return false;
 
   // Wenn keine Teiler gefunden wurden, handelt es sich um eine Primzahl
   return true;
 
}
 
int main()
{
    // Iteration von 0 bis 99, um Primzahlen zu finden
    for (int i = 0; i < 100; i++)
    {
        if (IstEinePrimzahl(i))
        {
            // Wenn i eine Primzahl ist, wird sie ausgegeben
           printf("Eine Primzahl: %d\n", i);
        }
    }
 
  // Anzeige einer Nachricht und Warten auf
  // eine Tastatureingabe, bevor das Programm beendet wird
 
  printf("Warte auf eine Tastatureingabe.\n");
 
  // Warten auf Tastendruck
    _getch();
 
    return 0;
}

2.) Erläuterung des CPP Kodes: zur Primzahl-Ermittlung!

Dieses C++-Programm findet und gibt die Primzahlen von 0 bis 99 aus. Hier ist eine Erläuterung des Codes:

  1. #include <stdio.h>: Dies ist die Header-Datei für die Ein- und Ausgabe von Daten. Sie ermöglicht die Verwendung von Funktionen wie printf und scanf.

  2. #include <cmath>: Dies ist die Header-Datei für mathematische Funktionen. Sie wird verwendet, um die Quadratwurzel einer Zahl mit sqrt zu berechnen.

  3. #include <conio.h>: Diese Header-Datei ermöglicht die Verarbeitung von Tastatureingaben. Sie wird verwendet, um auf eine Tastatureingabe zu warten, bevor das Programm beendet wird.

  4. Die Funktion IstEinePrimzahl(int Zahl) überprüft, ob eine gegebene Zahl eine Primzahl ist. Sie verwendet die folgenden Schritte:

    • Überprüft, ob die Zahl kleiner oder gleich 1 ist und gibt in diesem Fall false zurück, da Primzahlen per Definition größer als 1 sind.
    • Überprüft, ob die Zahl gleich 2 ist, da 2 eine Primzahl ist, und gibt in diesem Fall true zurück.
    • Überprüft, ob die Zahl gerade ist (außer 2), und gibt in diesem Fall false zurück, da gerade Zahlen außer 2 keine Primzahlen sind.
    • Berechnet die Wurzel der Zahl und rundet sie auf die nächste ganze Zahl ab, um den Grenzwert festzulegen.
    • Überprüft dann, ob die Zahl durch irgendeine ungerade Zahl von 3 bis zum Grenzwert ohne Rest teilbar ist. Wenn ja, gibt die Funktion false zurück, da dies einen Teiler außer 1 und sich selbst bedeutet.
    • Wenn keine Teiler gefunden wurden, gibt die Funktion true zurück, da die Zahl eine Primzahl ist.
  5. In der main()-Funktion wird eine Schleife von 0 bis 99 durchlaufen, und für jede Zahl wird IstEinePrimzahl(i) aufgerufen. Wenn die Funktion true zurückgibt, wird die Zahl als Primzahl ausgegeben.

  6. Nachdem die Schleife beendet ist, wird eine Nachricht angezeigt, und das Programm wartet auf eine Tastatureingabe, bevor es beendet wird. Dies geschieht mit Hilfe der _getch()-Funktion.

Das Programm findet und gibt alle Primzahlen von 0 bis 99 aus. Wenn Sie mehr oder weniger Primzahlen finden möchten, können Sie den Bereich in der for-Schleife ändern.


3.) Vor- und Nachteile der Primzahl-Ermittlung  CPP!


Das Finden von Primzahlen in C++ hat sowohl Vor- als auch Nachteile. Hier sind einige der wichtigsten Aspekte:

Vorteile:

Effizienz: Der in diesem C-Programm verwendete Algorithmus ist das Sieb von Eratosthenes. Dieser Algorithmus ist effizient und kann schnell Primzahlen in einem bestimmten Bereich finden.

Einfachheit: Das Programm ist relativ einfach zu verstehen und umzusetzen, insbesondere für Personen, die mit grundlegenden Konzepten der Programmierung und Mathematik vertraut sind. Es werden keine komplizierten mathematischen Formeln oder Algorithmen verwendet.

Anpassbarkeit: Sie können den Bereich, in dem nach Primzahlen gesucht wird, ganz einfach anpassen, indem Sie die Grenzen in der for-Schleife ändern. Dadurch können Sie Primzahlen in verschiedenen Bereichen finden.

Klarheit: Der Code ist gut kommentiert und leicht zu lesen. Dies erleichtert auch Anfängern die Pflege und das Verständnis.

Nachteile:

Begrenzte Reichweite: Das Eratosthenes-Sieb ist zwar effizient, eignet sich jedoch nicht besonders zum Finden sehr großer Primzahlen. Für sehr große Primzahlen sind fortgeschrittenere Algorithmen erforderlich.

Rechenaufwand: Das Programm prüft jede Zahl im angegebenen Bereich darauf, ob es sich um eine Primzahl handelt. Dies kann bei großen Flächen zeitaufwändig sein. Fortgeschrittenere Algorithmen können schneller sein.

Eingeschränkte Funktionalität: Das Programm gibt nur die gefundenen Primzahlen aus und bietet keine weiteren Funktionen, wie z. B. das Faktorisieren von Zahlen oder die Prüfung, ob eine bestimmte Zahl eine Primzahl ist.

Eingeschränkte Benutzerinteraktion: Das Programm wartet am Ende auf Tastatureingaben und ermöglicht so eine eingeschränkte Benutzerinteraktion. Es könnte jedoch erweitert werden, um mehr Benutzerfreundlichkeit zu bieten.


Insgesamt ist die in diesem Programm verwendete Methode zum Finden von Primzahlen für begrenzte Bereiche effizient und leicht zu verstehen. Wenn Sie jedoch extrem große Primzahlen finden müssen oder zusätzliche Funktionalität benötigen, sollten Sie auf fortgeschrittenere Algorithmen und Bibliotheken zurückgreifen.



FAQ 38: Aktualisiert am: 13 November 2023 12:25 Windows
Windows-CPP-und-C

WebView2 verwenden?


Ist ein neues Steuerelement und ist in Microsoft ein Browsersteuerelement das als WebView2 bezeichnet ist, Nachfolger vom CHtmlView oder IWebBrowser Inhalt:
Windows-CPP-und-C

Verwendung von Arrays und Zeichenketten im C Programm!


Dieses C-Programm erklärt und zeigt einige wichtige Konzepte in der Verwendung von Arrays und Zeichenketten. Lassen Sie uns die verschiedenen Aspekte dieses
Windows-CPP-und-C

Suchen und Ersetzen von Wörtern im sauberen C Programm?


Worte suche und ersetzen in einem C Programm, das Suchen und Ersetzen von Wörtern oder Teilstrings in einem Text ist in C nicht unbedingt einfach oder schwierig 
Windows-CPP-und-C

Dateien in C++ mit Platzhaltern Verzeichnisübergreifend umbenennen?


Dateien in C++ mit Platzhaltern Verzeichnisübergreifend umzubenennen,  und die Einfachheit des Umbenennens von Dateien in Windows Inhalt: 1. Mit Platzhaltern
Windows-CPP-und-C

Feststellen, ob mein Programm in der aktiven Saison läuft, CPP unter Windows?


Es ist nicht ganz einfach festzustellen, ob Ihr C oder CPP Programm in der aktiven Saison läuft, aber auch nicht unmöglich, hier ist die Lösung  Inhalt:
Windows-CPP-und-C

Was ist die bufferoverflowU.lib und wann wird sie benötigt?


Die bufferoverflowU.lib ist eine statische Bibliothek, die von Microsoft bereitgestellt wird, um den Schutz vor Pufferüberläufen in Programmen zu verbessern,
Windows-CPP-und-C

In Visual Studio gibt es die Suche nach Platzhaltern und regulären Ausdrücken?


Doch was ist der Unterschied? In Visual Studio gibt es sowohl die Suche nach Platzhaltern als auch die Suche nach regulären Ausdrücken , und sie dienen unterschiedlichen

»»

  Meine Frage ist leider nicht dabei
Gestellte Fragen zu dieser Antwort:
Keywords: windows, eine, zahl, primzahl, funktion, isteineprimzahl, gibt, true, zurück, übergebene, andernfalls, false, inhalt, primzahl-ermittlung, Fragen, Antworten, Software




  

  + Freeware
  + Ordnung am PC
  + Dateiverwaltung
  + Automatisierung
  + Office Tools
  + PC-Test-Tools
  + Deko und Spaß
  + Desktop-Uhren
  + Security

  + SoftwareOK Pages
  + Micro Staff
  + Freeware-1
  + Freeware-2
  + Freeware-3
  + FAQ
  + Downloads

  + Top
  + Desktop-OK
  + The Quad Explorer
  + Don't Sleep
  + Win-Scan-2-PDF
  + Quick-Text-Past
  + Print Folder Tree
  + Find Same Images
  + Experience-Index-OK
  + Font-View-OK


  + Freeware
  + Print.Test.Page.OK
  + DesktopDigitalClock
  + IsMyLcdOK
  + AutoHideMouseCursor
  + PreventTurnOff
  + AutoHideDesktopIcons
  + IsMyTouchScreenOK
  + ExperienceIndexOK
  + AlwaysMouseWheel
  + PAD-s


Home | Danke | Kontakt | Link | FAQ | Settings | Windows 2015 | eBlog | English-AV | Impressum | Translate | PayPal | PAD-s

 © 2025 by Nenad Hrg softwareok.de • softwareok.de • softwareok.com • softwareok.eu


► Alter Explorer ab 21H1, 21H2 (Build 22000.168) Windows 11 wieder verfügbar! ◄
► Schnell in den Nachtmodus auf Windows 11 wechseln! ◄
► Überprüfen Sie RAM-Größe, -Typ und -Geschwindigkeit unter Windows 11? ◄
► Ordner-Größe, Datei-Anzahl, Ordner-Anzahl ermitteln! ◄


Diese Webseite speichert keine personenbezogenen Daten. Allerdings werden Drittanbieter verwendet, um Werbung zu schalten.
Diese wird von Google verwaltet und entspricht dem IAB Transparency and Consent Framework (IAB-TCF).
Die CMP-ID lautet 300 und kann am Seitenende individuell angepasst werden.
mehr Infos & Datenschutz

....