#include unsigned long long factorial(int n) { if (n < 0) { return 0; // Fakultät für negative Zahlen ist nicht definiert } unsigned long long result = 1; for (int i = 1; i <= n; ++i) { result *= i; } return result; } int getPositiveInteger() { int 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 { unsigned long long result = factorial(num); printf("Die Fakultät von %d ist %llu\n", num, result); } return 0; }