fibonacci2.go 420 B

123456789101112131415161718192021222324
  1. package main
  2. import "fmt"
  3. func main() {
  4. pos := 4
  5. result, pos := fibonacci(pos)
  6. fmt.Printf("the %d-th fibonacci number is: %d\n", pos, result)
  7. pos = 10
  8. result, pos = fibonacci(pos)
  9. fmt.Printf("the %d-th fibonacci number is: %d\n", pos, result)
  10. }
  11. func fibonacci(n int) (val, pos int) {
  12. if n <= 1 {
  13. val = 1
  14. } else {
  15. v1, _ := fibonacci(n - 1)
  16. v2, _ := fibonacci(n - 2)
  17. val = v1 + v2
  18. }
  19. pos = n
  20. return
  21. }