package main

import "fmt"

func main() {

	fmt.Println("------ H1 ------")
	_, _, _, _, res := euklidErw(1981, 1532, 0, []result{})
	printResult(res)

	fmt.Println("------ H2 ------")
	b := []int{3, 4, 5, 6}

	for _, n := range b {
		fn := fibonacci(n)
		fn_ := fibonacci(n + 1)
		fmt.Printf("n: %d ", n)
		fmt.Printf("fn: %d ", fn)
		fmt.Printf("fn+1: %d \n", fn_)
		_, _, _, _, res = euklidErw(fn, fn_, 0, []result{})
		printResult(res)
		fmt.Println()
	}

	fmt.Println("------ H3 ------")
	a := 10000
	r := 0 //6,7,8
	for i := 1; i <= a; i++ {
		if i%6 == 0 || i%7 == 0 || i%8 == 0 {
			r++
		}
	}
	fmt.Println(r)
	fmt.Println()

	ggT_67 := euklid(6, 7)
	ggT_68 := euklid(6, 8)
	ggT_78 := euklid(7, 8)
	fmt.Println(a/6 + a/7 + a/8 - a/(6*7/ggT_67) - a/(6*8/ggT_68) - a/(7*8/ggT_78) + a/((6*7*8)/(ggT_67*ggT_68*ggT_78)))
}
