分类: 高性能计算
2017-03-01 21:42:50
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
package main
import (
"fmt"
)
func total(month int) int {
if month <= 2 {
return 1
}
return total(month-2) + total(month-1)
}
func main() {
for i := 1; i <= 10; i++ {
pairs := total(i)
fmt.Printf("第%d个月的兔子总数为%d对\n", i, pairs)
}
}
程序打印10个月内的兔子对数变化,运行结果如下:
第1个月的兔子总数为1对
第2个月的兔子总数为1对
第3个月的兔子总数为2对
第4个月的兔子总数为3对
第5个月的兔子总数为5对
第6个月的兔子总数为8对
第7个月的兔子总数为13对
第8个月的兔子总数为21对
第9个月的兔子总数为34对
第10个月的兔子总数为55对