1.一对刚出生的小兔子,出生后第4个月起每个月都生一对兔子,等小兔子长到第四个月后每个月又可以生一对兔子,如果兔子都长生不死,请问每个月的兔子总数是多少?
2.约梭芬杀人法 把犯人围成一圈,每次从固定位置开始算起,杀掉第7个人,直到剩下最后一个。
package main
import "fmt"
//兔子
func sum(month int) int{
if month < 4 {
return 2
}else if month <= 0{
return 0
}
return sum(month-1)+ sum(month-3)
}
//杀人算法
func kill(people []int)[]int{
if len(people) == 1{
return people
}
if len(people) < 7{
a := 7 % len(people)-1
arr1 := append(people[a+1:],people[0:a]...)
return kill(arr1)
}
sli := people[7:]
sli = append(sli,people[0:6]...)
arr1 := sli
return kill(arr1)
}
func main() {
//兔子
fmt.Println(sum(9))
//约梭芬
//var arr [12]int
//for i := 0;i<12; i++{
// arr[i] = i+1
//}
//arr1 := arr[0:12]
//fmt.Println(arr)
//fmt.Println(kill(arr1))
}