gpt/2025-12-05: fibonacci
crispy-caesus crispy@crispy-caesus.eu
Fri, 05 Dec 2025 14:54:27 +0100
1 files changed,
61 insertions(+),
0 deletions(-)
jump to
A
gpt/2025-12-05/fibonacci.go
@@ -0,0 +1,61 @@
+package main + +import ( + "fmt" + "os" + "strconv" + "strings" +) + +func fib(x int) string { + var builder strings.Builder + + t1 := 0 + t2 := 1 + + builder.WriteString(fmt.Sprintf("Fibonacci Reihe: %d, %d", t1, t2)) + + nextTerm := t1 + t2 + + + for i := 2; nextTerm < x; i++ { + builder.WriteString(fmt.Sprintf(", %d", nextTerm)) + t1 = t2 + t2 = nextTerm + nextTerm = t1 + t2 + } + + return builder.String() +} + +func check(e error) { + if e != nil { + panic(e) + } +} + +func writeString(filename string, s string) { + data := []byte(s) + + err := os.WriteFile(filename, data,0644) + 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 := fib(eingabe) + fmt.Println(ergebnis) + writeString("fib.txt", ergebnis) +}