index — ti25-glauchau-code @ 95fb20a9c30ec4c29b0f8eba4058d61cb32dad89

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

gpt/2025-12-12/nicht_jasper/fak.go (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
package main

import (
	"os"
	"encoding/binary"
	"strconv"
)

func check(e error) {
    if e != nil {
        panic(e)
    }
}

func writeString(filename string, n string) {
    f, err := os.Create(filename)
    check(err)
    defer f.Close()

    err = binary.Write(f, binary.LittleEndian, n)
    check(err)
}

func readArg() int {
	eingabeString := os.Args[1]
	eingabe, err := strconv.Atoi(eingabeString)
	check(err)

	return eingabe
}

func fak(x int) int {
	if x==0 {
		return 1
	}
	x = x * fak(x-1)
	return x
}

func main() {
	eingabe := readArg()
	ergebnis := fak(eingabe)
	writeString("ergebnis.txt", string(ergebnis))
}