Heim > Backend-Entwicklung > C++ > Wie kann ich feststellen, ob eine ganze Zahl in C eine Primzahl ist?

Wie kann ich feststellen, ob eine ganze Zahl in C eine Primzahl ist?

Patricia Arquette
Freigeben: 2024-12-31 09:07:09
Original
363 Leute haben es durchsucht

How Can I Determine if an Integer is Prime in C?

Bestimmen der Primalität in C

Ihre Anfrage, zu bestimmen, ob eine bestimmte ganze Zahl in C eine Primzahl ist, bringt eine faszinierende Programmierherausforderung mit sich. Lassen Sie uns die Schritte aufschlüsseln, um dies zu erreichen:

  1. Initialisieren Sie eine Schleife:Iterieren Sie durch Zahlen, beginnend bei 2 bis zu eins kleiner als die angegebene ganze Zahl.
  2. Auf Teilbarkeit prüfen: Berechnen Sie für jede Zahl in der Schleife den Rest, wenn Sie die ganze Zahl durch diese Zahl dividieren. Wenn der Rest Null ist und die Zahl nicht die ganze Zahl selbst ist, ist sie keine Primzahl.
  3. Wiederholen Sie Schritt 2: Iterieren Sie weiter durch die Zahlen, bis Sie die Quadratwurzel der ganzen Zahl erreichen.
  4. Ergebnis zurückgeben: Wenn keine Zahlen in der Schleife Teiler ergeben, ist die ganze Zahl eine Primzahl. Ansonsten ist es keine Primzahl.

In C# implementiert Ihr Code diesen Algorithmus wie folgt:

static bool IsPrime(int number)
{
    for (int i = 2; i < number; i++)
    {
        if (number % i == 0 && i != number)
            return false;
    }
    return true;
}
Nach dem Login kopieren

Anpassung an C:

Um diesen Code in C zu übersetzen, müssen wir einige kleinere Änderungen vornehmen:

  1. C hat keinen Bool Typ, daher verwenden wir stattdessen eine Ganzzahl, die 1 für Primzahl und 0 für Nicht-Primzahl zurückgibt.
  2. C99 hat den stdbool.h-Header eingeführt, der bool definiert. Wenn Ihre Umgebung C99 jedoch nicht unterstützt, können Sie einen verwenden Ganzzahl wie oben erwähnt.

Der folgende modifizierte C-Code führt die gleiche Aufgabe aus:

int IsPrime(unsigned int number)
{
    if (number <= 1) return 0; // Zero and one are not prime
    unsigned int i;
    for (i = 2; i * i <= number; i++)
    {
        if (number % i == 0) return 0;
    }
    return 1;
}
Nach dem Login kopieren

Dieser Code Prüft die Teilbarkeit bis zur Quadratwurzel der ganzen Zahl, um die Leistung zu optimieren, und verarbeitet Nicht-Primärfälle wie Null und Eins.

Das obige ist der detaillierte Inhalt vonWie kann ich feststellen, ob eine ganze Zahl in C eine Primzahl ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage