题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)

程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....,即下个月是上两个月之和(从第三个月开始)。

C语言实现:

#include<stdio.h>
 
int main()
{
    int f1=1,f2=1,i;
    for(i=1;i<=20;i++)
    {
        printf("%12d%12d",f1,f2);
        if(i%2==0) printf("\n");
        f1=f1+f2;
        f2=f1+f2;
    }
    
    return 0;
}

Java

public class Demo11 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        int a =1,b =1,c;
        System.out.printf("%10d%10d",a,b);
        for(int i=3;i<41;i++) {
            c = a+b;
            a = b;
            b = c;
            System.out.printf("%10d",c);
            if(i%5==0) {
                System.out.println();
            }
        }
        

    }

}

以上实例输出结果为:

       1           1           2           3
       5           8          13          21
      34          55          89         144
     233         377         610         987
    1597        2584        4181        6765
   10946       17711       28657       46368
   75025      121393      196418      317811
  514229      832040     1346269     2178309
 3524578     5702887     9227465    14930352
24157817    39088169    63245986   102334155
最后编辑:2020年08月01日 ©著作权归作者所有

发表评论