hdu 2160

Descripción del problema
Diciendo que el precio de la carne de cerdo es tan caro hoy en día, el famoso ACBoy 0068 también comenzó a criar cerdos. Es extraño decir que los cerdos que crió pueden parir un lechón todos los días al mediodía desde el segundo día de nacimiento, y todos los cerdos que nacen son cerdas.
Sin embargo, los lechones desnudos no son lo suficientemente buenos. 0068 adoptó una forma muy peculiar de administrar su granja de cerdos:
por cada lechón recién nacido, lo mataban inmediatamente después de dar a luz al segundo lechón y lo vendían al supermercado. En.
Suponiendo que el primer día de actividad, 0068 compró un lechón recién nacido. En la enésima noche, ¿cuántos cerdos quedan todavía en la granja de cerdos 0068?


La primera línea de datos de prueba de entrada contiene un entero positivo T, que representa el número de datos de prueba. A continuación, hay T grupos de pruebas, cada grupo de datos de prueba ocupa una línea y un entero positivo N representa el día N de 0068 hábiles. (0 <N <20)

Salida
Para cada conjunto de datos, genere el número de cerdos en la granja porcina en la noche N en una fila.

Entrada de muestra
2
2
3

Salida de muestra
2
3

De hecho, es un poco como la cuestión de tener un becerro, pero esta pregunta es el día anterior a la resta,
por ejemplo: día 1 2 3 4 5 6 7 8 9
suma 1 2 3 5 8 13 21 34 55

#include <stdio.h>
#include <stdlib.h>

int main()
{
    
    
    int t;
    scanf("%d",&t);
    while(t--)
    {
    
    
        int n,i,j=1,k=1,num=0,sum=1;//用3个变量来存储前两天的数量
        scanf("%d",&n);
        for(i=2;i<=n;i++)
        {
    
    
            sum=sum*2-num;
            num=k;//交换变量
            k=j;
            j=sum;
        }
        printf("%d\n",sum);
    }
    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/qq_51763206/article/details/112696895
Recomendado
Clasificación