Ausgabe, ob Primzahl oder nicht
In diesem letzten Schritt erweitern wir unser Primzahlprüfungsprogramm, indem wir detailliertere Ausgaben hinzufügen und die Überprüfung mehrerer Zahlen ermöglichen.
Ändern wir das Programm, um umfassendere Ausgaben zu liefern:
nano ~/project/prime_checker.c
Aktualisieren Sie den Code mit einer verbesserten Benutzeroberfläche:
#include <stdio.h>
#include <math.h>
int is_prime(int number) {
// Zahlen kleiner als 2 sind keine Primzahlen
if (number < 2) {
return 0;
}
// Prüfung der Teilbarkeit von 2 bis zur Quadratwurzel der Zahl
for (int i = 2; i <= sqrt(number); i++) {
if (number % i == 0) {
return 0; // Nicht prim, wenn teilbar
}
}
return 1; // Prim, wenn keine Teiler gefunden wurden
}
void print_prime_details(int number) {
if (is_prime(number)) {
printf("%d ist eine PRIMZAHL!\n", number);
printf("Erklärung:\n");
printf("- Sie ist nur durch 1 und sich selbst teilbar\n");
printf("- Zwischen 2 und √%d wurden keine weiteren Teiler gefunden\n", number);
} else {
printf("%d ist KEINE Primzahl.\n", number);
// Suche und Ausgabe des kleinsten Teilers
for (int i = 2; i <= sqrt(number); i++) {
if (number % i == 0) {
printf("Erklärung:\n");
printf("- Teilbar durch %d\n", i);
printf("- %d × %d = %d\n", i, number / i, number);
break;
}
}
}
}
int main() {
int number, continue_check;
do {
printf("Geben Sie eine positive ganze Zahl ein, um zu prüfen, ob sie prim ist: ");
scanf("%d", &number);
print_prime_details(number);
printf("\nMöchten Sie eine weitere Zahl prüfen? (1=Ja, 0=Nein): ");
scanf("%d", &continue_check);
} while (continue_check == 1);
printf("Vielen Dank für die Nutzung des Primzahlprüfers!\n");
return 0;
}
Kompilieren Sie das Programm:
gcc ~/project/prime_checker.c -o ~/project/prime_checker -lm
Beispielausgaben:
Geben Sie eine positive ganze Zahl ein, um zu prüfen, ob sie prim ist: 17
17 ist eine PRIMZAHL!
Erklärung:
- Sie ist nur durch 1 und sich selbst teilbar
- Zwischen 2 und √17 wurden keine weiteren Teiler gefunden
Möchten Sie eine weitere Zahl prüfen? (1=Ja, 0=Nein): 1
Geben Sie eine positive ganze Zahl ein, um zu prüfen, ob sie prim ist: 20
20 ist KEINE Primzahl.
Erklärung:
- Teilbar durch 2
- 2 × 10 = 20
Möchten Sie eine weitere Zahl prüfen? (1=Ja, 0=Nein): 0
Vielen Dank für die Nutzung des Primzahlprüfers!
Wichtige Verbesserungen:
- Detaillierte Erklärungen für Prim- und Nicht-Primzahlen hinzugefügt
- Implementierung einer Schleife für die Überprüfung mehrerer Zahlen
- Bereitstellung aussagekräftigerer Ausgaben über Eigenschaften der Zahlen