Eine Primzahl ist eine Zahl, die nur durch die Summe zweier Zahlen selbst geteilt werden kann. Ein Faktor einer Zahl ist eine Zahl, die die Zahl teilt.
Die Liste der ersten zehn Primzahlen ist 2,3,5,7,11,13,17,23,29,31.
Nichtprimzahlen sind zusammengesetzte Zahlen. Eine zusammengesetzte Zahl ist eine Zahl, die durch zwei oder mehr Zahlen teilbar ist.
Wenn es sich um eine Primzahl und eine zusammengesetzte Zahl handelt, dann ist 1 weder eine Primzahl noch eine zusammengesetzte Zahl, da sie nur durch sich selbst teilbar ist.
So überprüfen Sie, ob eine Zahl eine Primzahl oder eine zusammengesetzte Zahl ist. Um zu überprüfen, ob eine Zahl eine Primzahl ist, sollten zwei Bedingungen überprüft werden
1) Es sollte eine ganze Zahl größer als 1 sein.
2) Es sollte nur zwei Faktoren haben, einen und die Zahl selbst.
Wenn diese beiden Bedingungen erfüllt sind, können wir sagen, dass eine Zahl eine Primzahl ist.
In unserem Programm prüfen wir diese Zahl dividiert durch jede Zahl, die kleiner als diese Zahl ist. Eine Zahl ist keine Primzahl, wenn eine beliebige Zahl, die kleiner als eine bestimmte Zahl ist, durch diese Zahl teilbar ist. Ansonsten ist es Prime.
Nehmen wir als Beispiel zwei Zahlen und prüfen mit diesem Verfahren, ob es sich um Primzahlen handelt.
Input − Number1 − 42 Output − 42 is not a prime number
Logik – Wir dividieren 42 durch jede Zahl größer als 1 und kleiner als 42. Daher ist
42/2 = 21, d. h. 42 ist durch 2 teilbar, was bedeutet, dass 42 keine Primzahl ist, da sie durch eine andere Zahl teilbar ist.
Input − Number2 − 7 Output − 7 is a prime number
Logik – Wir teilen 7 durch jede Zahl größer als 1 und kleiner als 7.
7 ist also nicht durch 2 teilbar, daher prüft der Code die nächste Zahl, d. h. 3
7 ist nicht durch 3 teilbar, daher prüft der Code die nächste Zahl, d. h. 4
7 ist nicht durch 4 teilbar, daher prüft der Code Die nächste Zahl, also 5
>7, ist nicht durch 5 teilbar, daher prüft der Code, ob die nächste Zahl, also 6
7, nicht durch 6 teilbar ist, was bedeutet, dass 7 nur durch 1 teilbar ist und 7 bedeutet, dass 7 eine Primzahl ist.
Sehen Sie sich die obige Logik an: Ist diese Zahl 1000 plus oder 100000 plus, dann wird das Programm mehrere Male in der for-Schleife iterieren und diese Methode wird viel Berechnungszeit in Anspruch nehmen. Um die Anzahl der Iterationen zu reduzieren, müssen sie daher bessere Methoden sein.
Die optimierte Lösung hierfür besteht darin, nur die halbe Schleife zu laufen. Das bedeutet, dass bei einer Zahl von 77 die Schleife nur bis 38 läuft. Dadurch wird die Anzahl der erforderlichen Iterationen reduziert, daher verwenden wir diesen Algorithmus zum Erstellen des Programms.
#include <stdio.h> int main() { int num = 33, flag = 0; for(int i=2 ; i < num/2 ; i++) { if(num%i == 0) { printf("%d is not a prime number", num); flag = 1; break; } } if(flag == 0) { printf("%d is a prime number", num); } }
33 is a prime number
Das obige ist der detaillierte Inhalt vonC-Programm zum Überprüfen, ob eine Zahl eine Primzahl ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!