Hallo,
ich versuche momentan ein kleines Skript zu erstellen, welches mir die Fakultät ausgibt.
Da ich jedoch noch ziemlich am Anfang stehe, mit meinen Programmierkenntnissen, dachte ich hier nachzufragen.
Die Fakultäten einzeln auszugeben ist kein Problem, nur die Sache mit der Klammer.
So schaff ich es auszugeben:
fak(3) = 3 * fak(2)
fak(2) = 2 * fak(1)
gewünschte Ausgabe:
fak(3)= 3 * fak(2 * fak(1))
oder
fak(3) = 3 * (2 * (1))
Ich hoffe es ist jemand da, der mit evtl. nen Tipp geben kann, wie ich das lösen könnte.
So sieht mein code bisher aus:
int fak(int a)
{
if (a == 0)
return 1;
else
return (a * fak(a - 1));
}
int nfaktor(int n)
{
n = n + 1;
return n;
}
int main()
{
int a, n;
n = 0;
while (1)
{
printf("Zahl eingeben: ");
scanf_s("%d", &a);
if (a <= 0)
{
printf("Programm wird beendet, da negative Zahl eingegeben wurde.");
break;
}
else
while (a != 1)
{
printf("fak(%d) = %d * fak(%d)\n", a, a, a - nfaktor(n));
a = a - 1;
}
}
}