Wie addiert man in Java Fakultäten von Zahlen?
also zb addition von 2! + 3! +4! bis k!. Ich krieg das einfach nicht hin...
3 Antworten
![](https://images.gutefrage.net/media/user/Bananapeel321/1661348723318_nmmslarge__174_0_360_360_dec9df60b121fcfa1aa2e9957de68a38.jpg?v=1661348723000)
Hier eine kleine Lösung für beliebig viele Parameter an die Funktion:
private static long facAdd(int...items) {
long res = 0;
for (int _x: items) {
for (int i = _x = _x < 2 ? 1 : _x; i > 2; --i, _x *= i);
res += _x;
}
return res;
}
Nutzungsmöglichkeiten:
System.out.println(facAdd(2,3,1,1));
System.out.println(facAdd(0,0,0,0,0,0,0));
System.out.println(facAdd(1));
System.out.println(facAdd(new int[] {1,2,3}));
System.out.println(facAdd(9,15));
Output:
10
7
1
9
2004672896
Process finished with exit code 0
Bei weiteren Fragen kannst Du Dich gerne melden!
Grüße, Jacob
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
Nutzer, der sehr aktiv auf gutefrage ist
Java hat keinen Operator für die Fakultät. Das heißt x! ist keine gültige Syntax um die Fakultät von x zu erhalten.
Somit kannst du diese Terme auch nicht addieren. Du benötigst eine Fakultätsfunktion, die aber sehr schnell gegoogelt ist.
Woher ich das weiß:Berufserfahrung – Berufserfahrung
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
Kein Plan ob es ne built in function gibt.
Implementiere doch einfach eine rekursive oder iterative Fakultätsfunktion...
Alternative: Bei Google findest du bestimmt einige.