Primzahlidentifizierung in C++

C++C++Beginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir lernen, wie man in C++ überprüft, ob eine gegebene Zahl eine Primzahl oder eine zusammengesetzte Zahl ist. Eine Primzahl ist eine Zahl größer als 1, die nicht durch jede andere Zahl als 1 und sich selbst teilbar ist. Eine zusammengesetzte Zahl ist eine Zahl größer als 1, die durch Zahlen teilbar ist, die nicht 1 und sich selbst sind.

Definiere die isPrime()-Funktion

Wir werden eine Funktion isPrime() definieren, die einen Integer annimmt und einen booleschen Wert zurückgibt, der angibt, ob die Zahl eine Primzahl ist oder nicht.

#include <iostream>
#include <math.h>

using namespace std;

bool isPrime(int n)
{
    if (n == 1)
        return false; // 1 ist keine Primzahl

    for (int i = 2; i <= sqrt(n); i++)
    {
        if (n % i == 0)
            return false;
    }

    return true;
}

In obigem Code überprüfen wir, ob die gegebene Zahl durch eine beliebige Zahl teilbar ist. Wenn es keine solchen Zahlen gibt, ist die Zahl eine Primzahl. Wenn die Zahl 1 ist, ist sie keine Primzahl.

Schreibe die main()-Funktion

Wir werden jetzt die main()-Funktion schreiben, die Eingaben vom Benutzer entgegennimmt und die isPrime()-Funktion verwendet, um zu bestimmen, ob die eingegebene Zahl eine Primzahl oder eine zusammengesetzte Zahl ist.

int main()
{
    cout << "\n\nWelcome to LabEx :-)\n\n\n";
    cout << " ===== Most Efficient Program to determine if the entered number is Prime or not. ===== \n\n";

    cout << " ===== Note: 1 is neither Prime nor Composite. ===== \n\n";

    int n;
    bool prime = false;

    cout << " Enter a positive integer other than 1 :  ";
    cin >> n;

    prime = isPrime(n);

    if (prime)
    {
        cout << "\n\nThe entered number " << n << " is a Prime number.";
    }
    else
    {
        cout << "\n\nThe entered number " << n << " is Composite number.";
    }

    cout << "\n\n\n";

    return 0;
}

Kompilieren und Ausführen des Programms

Kompiliere den Code mit dem Befehl g++ wie folgt:

g++ main.cpp -o main

Führe dann das Programm mit dem Befehl ./main aus.

./main

Das Programm wird Sie auffordern, eine positive Ganzzahl größer als 1 einzugeben, geben Sie eine Zahl ein und drücken Sie die Eingabetaste.

Das Programm wird dann ausgeben, ob die eingegebene Zahl eine Primzahl oder eine zusammengesetzte Zahl ist.

Vollständiger Code von main.cpp

#include <iostream>
#include <math.h>

using namespace std;

bool isPrime(int n)
{
    if (n == 1)
        return false; // 1 ist keine Primzahl

    for (int i = 2; i <= sqrt(n); i++)
    {
        if (n % i == 0)
            return false;
    }

    return true;
}

int main()
{
    cout << "\n\nWelcome to LabEx :-)\n\n\n";
    cout << " ===== Most Efficient Program to determine if the entered number is Prime or not. ===== \n\n";

    cout << " ===== Note: 1 is neither Prime nor Composite. ===== \n\n";

    int n;
    bool prime = false;

    cout << " Enter a positive integer other than 1 :  ";
    cin >> n;

    prime = isPrime(n);

    if (prime)
    {
        cout << "\n\nThe entered number " << n << " is a Prime number.";
    }
    else
    {
        cout << "\n\nThe entered number " << n << " is Composite number.";
    }

    cout << "\n\n\n";

    return 0;
}

Zusammenfassung

In diesem Lab haben wir gelernt, wie man in C++ überprüft, ob eine gegebene Zahl eine Primzahl oder eine zusammengesetzte Zahl ist. Wir haben eine Funktion verwendet, um zu bestimmen, ob die gegebene Zahl eine Primzahl ist, indem wir überprüften, ob sie durch irgendwelche Zahlen außer 1 und sich selbst teilbar ist. Anschließend haben wir diese Funktion in der main()-Funktion verwendet, die Eingaben vom Benutzer entgegennahm und ausgab, ob die Zahl eine Primzahl oder eine zusammengesetzte Zahl ist.