C language - Prüft, ob eine Ganzzahl eine Primzahl ist

Mit einem Programm in C-Sprache kann überprüft werden, ob eine Ganzzahl eine Primzahl ist . Einige Kenntnisse in Programmierkonzepten und Sprachen wie C sind erforderlich, um einen Programmcode in C zu schreiben. Grundlegende Konzepte wie Schleifen, einschließlich for-Schleifen, do-Schleifen, andernfalls Schleifen, Funktionen usw. sind zum Schreiben von Programmen erforderlich. Ein Programm zum Überprüfen, ob eine Ganzzahl eine Primzahl in C ist, kann mithilfe von verschachtelten for-Schleifen geschrieben werden . Geschachtelte for-Schleifen enthalten eine for-Schleife in einer anderen. Einige Kenntnisse über C-Funktionen wie scanf und printf sind auch beim Programmieren in C hilfreich.

[Sprache C] Prüfen, ob eine Ganzzahl eine Primzahl ist

  • Definition einer Primzahl
    • Algorithmus 1: Teiler zwischen 2 und N-1 werden getestet
    • Algorithmus 2: Gerade Teiler werden nicht getestet, die Forschung beschränkt sich auf ungerade Teiler
    • Algorithmus 3: Alle ungeraden Teiler bis zur Quadratwurzel von N werden getestet
    • Algorithmus 4: Stoppen Sie das Programm, wenn ein Teiler gefunden wird

Definition einer Primzahl

Eine Primzahl ist eine ganze Zahl, die nur durch 1 und sich selbst geteilt wird.

Algorithmus 1: Teiler zwischen 2 und N-1 werden getestet

/ **************************

  • prime_number1.c * / / * Algorithmus: teste alle Teiler * / #include int main (void) {int i, nb, count, test; test = count = 0; printf ("enter integer:"); if (scanf ("% d", & nb)! = 1) return -1; für (i = 2; i <nb; i ++, count ++) wenn (nb% i == 0) test = 1; if (! test) printf ("% d Primzahl, Anzahl der Iterationen =% dn", nb, count); else printf ("% d ist keine Primzahl, Anzahl der Iterationen =% dn", nb, count); return 0; }

Algorithmus 2: Gerade Teiler werden nicht getestet, die Forschung beschränkt sich auf ungerade Teiler

/ **************************

  • prime_number2.c * / / * Algorithmus: gerade Zahlen ausschließen und * alle Teiler testen * / #include int main (void) {int i, nb, count, test; test = count = 0; printf ("enter integer:"); if (scanf ("% d", & nb)! = 1) return -1; if (nb% 2 == 0) test = 1; sonst {für (i = 3; i <nb; i + = 2, count ++) wenn (nb% i == 0) test = 1; } if (! test) printf ("% d Primzahl, Anzahl der Iterationen =% dn", nb, count); else printf ("% d ist keine Primzahl, Anzahl der Iterationen =% dn", nb, count); return 0; }

Algorithmus 3: Alle ungeraden Teiler bis zur Quadratwurzel von N werden getestet

/ **************************

  • prime_number3.c * / / * Algorithmus: alle geraden Zahlen ausschließen und * alle Teiler bis zur Quadratwurzel testen * / #include #include int main (void) {int i, nb, count, test, limit; test = count = 0; printf ("enter integer:"); if (scanf ("% d", & nb)! = 1) return -1; limit = sqrt (nb) + 1; if (nb% 2 == 0) test = 1; sonst {für (i = 3; i <Grenze; ​​i + = 2, Anzahl ++) wenn (nb% i == 0) test = 1; } if (! test) printf ("% d Primzahl, Anzahl der Iterationen =% dn", nb, count); sonst printf ("% d keine Primzahl, Anzahl der Iterationen =% dn", nb, count); return 0; }

Algorithmus 4: Stoppen Sie das Programm, wenn ein Teiler gefunden wird

/ **************************

  • prime_number4.c * / / * Algorithmus: alle geraden Zahlen ausschließen und * alle Teiler bis zur Quadratwurzel testen * Endeschleife, wenn der erste Teiler gefunden wird * / #include #include int main (void) Test, Grenze; test = count = 0; printf ("Ganzzahl eingeben:"); if (scanf ("% d", & nb)! = 1) return -1; limit = sqrt (nb) + 1; if (nb% 2 == 0) test = 1; sonst {für (i = 3; i <limit &&! test; i + = 2, count ++) wenn (nb% i == 0) test = 1; } if (! test) printf ("% d Primzahl, Anzahl der Iterationen =% dn", nb, count); sonst printf ("% d keine Primzahl, Anzahl der Iterationen =% dn", nb, count); return 0; }
Vorherige Artikel Nächster Artikel

Top-Tipps