반응형

golang, 피보나치 수열 함수 예제

 

피보나치 수열 :  1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

첫 번째와 두 번째는 1로 시작한다.

0번째는 0으로 놓기도 한다. 0, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

 

예제 파일 위치: c:/project_go/fibonacci/main.go

 

[ main.go ]

package main

import (
  "fmt"
)

func fibonacci(n int) int {
  if n <= 0 {
    return 0
  }
  if n <= 2 {
    return n
  }

  one := 1
  two := 0
  tmp := 0
  for i := 2; i <= n; i++ {
    tmp = one + two
    two = one
    one = tmp
  }
  return one
}

func main() {
  for i := 1; i <= 10; i++ {
    fmt.Printf("%d : %d\n", i, fibonacci(i))
  }
}

 

mod 파일 생성: 

go mod init project_go/fibonacci

 

main 빌드: 

go build main.go

 

실행:

./main.exe

 

[실행 결과]

1 : 1
2 : 1
3 : 2
4 : 3
5 : 5
6 : 8
7 : 13
8 : 21
9 : 34
10 : 55

 

반응형

+ Recent posts