¡El lenguaje C resuelve el problema del nacimiento de conejos (dificultad pequeña)!

Pregunta: Hay un par de conejos, y nacerán un par de conejos cada mes a partir del tercer mes después del nacimiento.
            Después de que el conejito crezca hasta el tercer mes, nacerá otro par de conejos cada mes Suponiendo que
            no todos los conejos están muertos, ¿cuál es el número total de conejos en cada mes durante 30 meses?

Proceso de resolución de problemas:

Lo primero es hacer un dibujo:

 Escriba el código de acuerdo con la idea de solución en la figura anterior:

#include"stdio.h"
#define row 31
#define col 5


// 初始化数组
void Init(long long arr[row][col], int R, int C)
{
    //  把第一个月的小兔,中兔,老兔初始化为1,0,0
    long long a = 1;
    arr[1][1] = a;
    arr[1][2] = 0;
    arr[1][3] = 0;

    // 第一列初始化为月份
    long long i = 0;
    for (i = 1; i < R; i++)
    {
        arr[i][0] = i;
    }
}




// 打印数组
void Dayin(long long arr[row][col], int R, int C)
{
    int i = 0, j = 0;
    for (i = 1; i < R; i++)
    {
        printf("第%3ld个月: 小兔:%7ld只   中兔:%7ld只   老兔:%7ld只    总数:一共%7ld只\n\n\n", (long long)arr[i][0], (long long)arr[i][1], (long long)arr[i][2], (long long)arr[i][3], (long long)arr[i][4]);
    }
}



//计算数组的每一个值
void JiSuan(long long arr[row][col], int R, int C)
{
    int i = 2;
    for (i = 2; i < R; i++)
    {
        long long XT = arr[i - 1][3];  // 小兔=上一行的老兔的只数
        long long ZT = arr[i - 1][1];  // 中兔=上一行的小兔的只数
        long long LT = arr[i - 1][2] + arr[i - 1][3];  // 老兔=上一行的中兔+上一行的老兔
        long long ZS = XT + ZT + LT;   //  总数= 小兔+中兔+老兔

        // 把这一行的小兔,中兔,老兔,总数的值填上
        arr[i][1] = XT;
        arr[i][2] = ZT;
        arr[i][3] = LT;
        arr[i][4] = ZS;

    }

}

int main()
{
    long long arr[row][col] = { 0 };
    //初始化数组
    Init(arr, row, col);

    

    //计算数组的每一个值
    JiSuan(arr, row, col);


    // 打印数组
    Dayin(arr, row, col);



    return 0;
}

Resultado final:

 

Ahora siento que todos los problemas necesitan ser dibujados. Al dibujar, aclararé mis pensamientos primero, y el resto de escribir código es una cosa muy fácil. Bueno, ¡el estudio de hoy ha terminado! De hecho, esta pregunta se consideró ayer y no dibujé la imagen. Después de pensarlo por la noche, ¡finalmente lo terminé hoy! ¡Todavía estoy un poco emocionado, porque los problemas por resolver son cada vez más complicados!

Supongo que te gusta

Origin blog.csdn.net/xingyuncao520025/article/details/131339556
Recomendado
Clasificación