index — ti25-glauchau-code @ 469fc8e16d8c0ec6fc321b0edcff427a031b1a0b

Meine Lösungen (oder auch nicht) für die Programmieraufgaben in der TI25 an der Staatlichen Studienakademie Glauchau

gpt/2025-12-05: fakultät
crispy-caesus crispy@crispy-caesus.eu
Fri, 05 Dec 2025 14:14:19 +0100
commit

469fc8e16d8c0ec6fc321b0edcff427a031b1a0b

parent

00f5cc5c12ad3452a8f3f692ad882063a857e358

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)) +}