问题描述
有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死,请实现函数,计算第 month 个月的兔子总数?画流程图,并用主函数验证其有效性。要求实现函数:
unsigned int rabbits(unsigned int month);
返回:兔子总数
输入:month 第几个月
示例:
输入:month=3;函数返回:4
输入:month=6;函数返回:16
代码
//兔子产子
#include<stdio.h>
unsigned int rabbits(unsigned int month){
//unsigned int num=2;
if(month==1||month==2){
return 2;
}
return rabbits(month-1)+rabbits(month-2);
}
void main(){
unsigned int month,sum=0;
printf("请输入月数:\n");
scanf("%u",&month);
sum=rabbits(month);
printf("%u",sum);
}