gpt/2025-12-05: fakultät
crispy-caesus crispy@crispy-caesus.eu
Fri, 05 Dec 2025 14:14:19 +0100
1 files changed,
51 insertions(+),
0 deletions(-)
jump to
A
gpt/2025-12-05/fakultaet.go
@@ -0,0 +1,51 @@
+package main + +import ( + "fmt" + "os" + "encoding/binary" + "strconv" +) + +func fak(x int) int { + if x==0 { + return 1 + } + + x = x * fak(x-1) + return x +} + +func check(e error) { + if e != nil { + panic(e) + } +} + +func writeInt64(filename string, n int64) { + f, err := os.Create(filename) + check(err) + defer f.Close() + + err = binary.Write(f, binary.LittleEndian, n) + check(err) +} + +func readArg() int { + if len(os.Args) < 2 { + panic("Zu wenig Argumente\nEingabeZahl erwartet") + } + + eingabeString := os.Args[1] + eingabe, err := strconv.Atoi(eingabeString) + check(err) + + return eingabe +} + +func main() { + eingabe := readArg() + ergebnis := fak(eingabe) + fmt.Println(ergebnis) + writeInt64("fak.txt", int64(ergebnis)) +}