Browse Source

refactoring: Rekursiv zu Iterativ

remotes/origin/factorialdev
Lennart Goetze 11 months ago
parent
commit
7028456a41
  1. 18
      src/Faktorial.c

18
src/Faktorial.c

@ -1,11 +1,17 @@
#include <stdio.h> #include <stdio.h>
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
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 run_factorial() { int run_factorial() {
@ -13,6 +19,8 @@ int run_factorial() {
printf("Gib eine Zahl ein, um die Fakultät zu berechnen: "); printf("Gib eine Zahl ein, um die Fakultät zu berechnen: ");
scanf("%d", &num); scanf("%d", &num);
unsigned long long result = factorial(num);
if (num < 0) { if (num < 0) {
printf("Fakultät ist für negative Zahlen nicht definiert.\n"); printf("Fakultät ist für negative Zahlen nicht definiert.\n");
} else { } else {

Loading…
Cancel
Save