Warum sagst Du uns denn nicht mal, was nicht funktioniert? Gibt es eine Fehlermeldung, stimmt das Ergebnis nicht? Aber Matthias hat Dich ja vermutlich schon auf die Lösung gebracht. ;)
Wenn Du den Wert von 100! ausrechnen möchtest, solltest Du eine Vorstellung davon haben, in welcher Größenordnung das Ergebnis liegt, um den passenden Datentyp zu wählen. Ich kenne mich mit groovy nicht aus, aber es sieht so aus, als würdest Du einen normalen integer benutzen. Der kann dieses Ergebnis bei weitem nicht fassen. Entweder bekommst Du eine Exception wegen Wertebereichsüberschreitung, oder bei der Multiplikation wird stillschweigend gekürzt, und dann ist das Ergebnis schlicht falsch.
Eventuell (anhand der groovy-Doku prüfen) könntest Du mit double durchkommen, das Ergebnis wird dann aber nicht in allen Stellen genau sein. Wenn Du wirklich alle 158 Stellen des Ergebnisses brauchst, dann mußt Du nach etwas wie BigInteger suchen.
Aber Matthias hat Dich ja vermutlich schon auf die Lösung gebracht. ;)