Ergebnis ausgeben
In diesem letzten Schritt erweitern Sie das Programm, um detailliertere Informationen über die vollkommene Zahl auszugeben, einschließlich ihrer Teiler und ihrer Summe.
Öffnen Sie die Datei und aktualisieren Sie den Code:
nano ~/project/perfect_number.c
Ersetzen Sie den vorherigen Code durch:
#include <stdio.h>
int main() {
int zahl, summe = 0;
// Benutzer nach Eingabe fragen
printf("Geben Sie eine positive ganze Zahl ein, um zu prüfen, ob es sich um eine vollkommene Zahl handelt: ");
scanf("%d", &zahl);
// Überschrift für die Teiler ausgeben
printf("Echte Teiler von %d: ", zahl);
// Summe der echten Teiler berechnen und ausgeben
for (int i = 1; i < zahl; i++) {
if (zahl % i == 0) {
printf("%d ", i);
summe += i;
}
}
// Detailliertes Ergebnis ausgeben
printf("\n\nSumme der echten Teiler: %d", summe);
// Vollkommene-Zahl-Status prüfen und ausgeben
if (summe == zahl) {
printf("\n%d ist eine vollkommene Zahl!\n", zahl);
} else {
printf("\n%d ist keine vollkommene Zahl.\n", zahl);
}
return 0;
}
Kompilieren und führen Sie das Programm aus:
gcc perfect_number.c -o perfect_number
./perfect_number
Beispielausgabe für eine vollkommene Zahl (28):
Geben Sie eine positive ganze Zahl ein, um zu prüfen, ob es sich um eine vollkommene Zahl handelt: 28
Echte Teiler von 28: 1 2 4 7 14
Summe der echten Teiler: 28
28 ist eine vollkommene Zahl!
Beispielausgabe für eine keine vollkommene Zahl (12):
Geben Sie eine positive ganze Zahl ein, um zu prüfen, ob es sich um eine vollkommene Zahl handelt: 12
Echte Teiler von 12: 1 2 3 4 6
Summe der echten Teiler: 16
12 ist keine vollkommene Zahl.
Wichtige Verbesserungen:
- Jetzt werden alle echten Teiler ausgegeben.
- Die Summe der echten Teiler wird angezeigt.
- Eine klare, formatierte Ausgabe wird bereitgestellt.
- Die Kernlogik der vollkommenen-Zahl-Erkennung wird beibehalten.