|
|
@ -14,17 +14,27 @@ unsigned long long factorial(int n) { |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
int run_factorial() { |
|
|
|
int getPositiveInteger() { |
|
|
|
int num; |
|
|
|
printf("Gib eine Zahl ein, um die Fakultät zu berechnen: "); |
|
|
|
scanf("%d", &num); |
|
|
|
|
|
|
|
unsigned long long result = factorial(num); |
|
|
|
while (1) { |
|
|
|
printf("Gib eine positive ganze Zahl ein: "); |
|
|
|
if (scanf("%d", &num) == 1 && num >= 0) { |
|
|
|
break; |
|
|
|
} else { |
|
|
|
printf("Ungültige Eingabe. Bitte gib eine positive ganze Zahl ein.\n"); |
|
|
|
while (getchar() != '\n'); // Leere den Eingabepuffer |
|
|
|
} |
|
|
|
} |
|
|
|
return num; |
|
|
|
} |
|
|
|
|
|
|
|
int run_factorial() { |
|
|
|
int num = getPositiveInteger(); |
|
|
|
|
|
|
|
if (num < 0) { |
|
|
|
printf("Fakultät ist für negative Zahlen nicht definiert.\n"); |
|
|
|
} else { |
|
|
|
int result = factorial(num); |
|
|
|
unsigned long long result = factorial(num); |
|
|
|
printf("Die Fakultät von %d ist %d.\n", num, result); |
|
|
|
} |
|
|
|
|
|
|
|