fibobacci
今天简单做一个题,这个点了,太累了,打卡滴
需求
给一个数N,看能通过多少步N+1或者N-1使它成为fibobacci数
0< N <1000000
fibobacci都清楚 0 1 1 2 3 5 8 13 ... 不赘述
示例
输入:
5
15
输出:
0
2
解题思路
这个就很简单,不用说了
看我极简代码风格,哈哈哈😂
极简代码
package main
import "fmt"
func main() {
var number int
for {
if num, err := fmt.Scanf("%d", &number); num != 1 || err != nil {
return
}
begin, next := 0, 1
for begin+next < number {
begin, next = next, begin+next
}
if number-next < begin+next-number {
fmt.Println(number - next)
} else {
fmt.Println(begin + next - number)
}
}
}
当然不推荐,容易被打死