gpt/2025-12-05/fakultaet.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 45 46 47 48 49 50 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))
}
|