c语言中兔子生兔子问题,能告诉我这代码的解题思路是啥?

假设一对兔子的成熟期是一个月,即一个月可长成成兔,那么,如果每对成兔每个月都生一对小兔,一对新生的小兔从第二个月起就开始生兔子,试问从一对兔子开始繁殖,以后每个月会有多少对兔子?

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int i,tu1,tu2,tu3,m;
  5. tu1=1;
  6. tu2=1;
  7. printf("请输入月份数\n");
  8. scanf("%d",&m);
  9. if(m==1||m==2)
  10. {
  11. printf("有一对兔子");
  12. }
  13. else if(m>2)
  14. {
  15. for(i=3;i<=m;i++)
  16. {
  17. tu3=tu1+tu2;
  18. tu1=tu2;
  19. tu2=tu3;
  20. }
  21. printf("%d 月的兔子数为:%d\n",m,tu3);
  22. }
  23. return 0;
  24. }

转化为数学问题:

x=0为起始值,f(0)=1,f(1)=2....f(x)=2的x次方。