(TOJ1063)养兔子

描述

一对成熟的兔子每月能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是一个月,而成熟后的第二个月才开始生小兔。某人领养了一对小兔子,一公一母,请问第N个月以后,他将会得到多少对兔子。

输入

测试数据包括多组,每组一行,为整数n(1≤n≤90)。
输入以0结束。

输出

对应输出第n个月有几对兔子(假设没有兔子死亡现象,而且是一夫一妻制)。

样例输入

1

2

0

样例输出

1

2

提示

数据类型可以用64位整数:__int64
 
#include<stdio.h>

#include<math.h>

#include<string.h>

#include<ctype.h>



__int64 deal(int n)

{

     __int64 l,m,s;

     int flag;

     l=1,m=2;

     flag=3;

     s=0;

     while(flag<=n)

     {

         s=l+m;

         l=m;

         m=s;

         flag++;

     }

     if(n==1)

     { return 1;}

     else if(n==2)

     { return 2;}

     else

     {return s;}

}



void solve()

{

  int n;

  while(scanf("%d",&n) && n)

  {

      printf("%I64d\n",deal(n));

  }

}



int main()

{

    solve();   

    return 0;

}

 

你可能感兴趣的:(OJ)