index — ti25-glauchau-code @ 72a1f44f3f7b9f35f97b3dcb692ffd7cc4fc06dd

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

gpt/2025-12-05: fibonacci
crispy-caesus crispy@crispy-caesus.eu
Fri, 05 Dec 2025 14:54:27 +0100
commit

72a1f44f3f7b9f35f97b3dcb692ffd7cc4fc06dd

parent

37432d3138bbafd0d21f0dda8dfcaec9946b04d0

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