Questions sur le pinceau en langage C - Crazy Rabbit

insérez la description de l'image ici

sujet

Problème classique : Il y a un couple de lapins. À partir du troisième mois après la naissance, un couple de lapins naît chaque mois. Après que le bébé lapin ait atteint le troisième mois, un autre couple de lapins naît chaque mois. Si les lapins ne sont pas morts, demandez à chacun Quel est le nombre total de lapins en un mois ?

insérez la description de l'image ici

des idées

La loi du lapin est la suite 1, 1, 2, 3, 5, 8, 13, 21... Elle se conforme aux règles changeantes de la suite de Fibonacci. Vous pouvez utiliser des boucles ou la récursivité pour résoudre ce problème.

répondre

① Cycle

#include <stdio.h>

int main()
{
    
    
    long f1,f2;
    int i;
    
    f1=f2=1;
    
    for(i=1;i<=20;i++)
    {
    
    
        printf("%12ld %12ld",f1,f2);
        
        if(i%2==0)
        {
    
    
            printf("\n");    //控制输出,每行四个
        }

        f1=f1+f2;   //前两个月加起来赋值给第三个月
        f2=f1+f2;   //前两个月加起来赋值给第三个月
    }
}


② récursivité

#include <stdio.h>


long countRabbit(long f)
{
    
    

    if(f==1 || f==2)
    {
    
    
        return 1;
    }
    else
    {
    
    
        return countRabbit(f-1) + countRabbit(f-2);
    }
}

int main()
{
    
    

   int month ;
   int i;

   printf("请输入月份:");
   scanf("%d",&month);

   for(i=1;i<=month;i++)
   {
    
    
       long f = countRabbit(i);

       printf("%12ld",f);

       if(i%4==0)
       {
    
    
           printf("\n");
       }

   }
   return 0;

}

Exemple de sortie

insérez la description de l'image ici

insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/qq_21484461/article/details/124001268
conseillé
Classement