Red de conocimiento informático - Conocimientos de programación - Programación combinada

Programación combinada

Utilice el algoritmo codicioso

Primero, coloque 1 (2 elevado a 0) en el primer cuadro, coloque 2 (2 elevado a 1) en el segundo cuadro y coloque en el tercer cuadro. 4 (2 elevado a la potencia de 2) en el cuadro... El noveno cuadro es 256 (2 elevado a la potencia de 8) y el décimo cuadro es 89. Si compras menos de 512 huevos, podrás conseguirlos combinando las primeras nueve cajas. Si es mayor o igual a 512 se deberá utilizar el huevo de la décima casilla. Y cada elección comienza con la casilla con el número máximo de huevos y menor o igual al número requerido.

Código:

# include & ltstdio.h & gt

void main()

{

int c, n, a[10];

a[0]= 1;

a[9]=

scanf("%d ", & ampc);

for(n = 1; n & lt9;n++)

a[n]= a[n-1]* 2; //Cada número de huevos en la caja

if(c & lt; 512)

{

for(n = 8; n & gt=0;n -)

{

if(a[n]& lt;=c)//Selecciona la casilla

{

c = c-a [n]; //Número de huevos aún necesarios

printf("%d\n ", a[n]);

}

}

}

Otros

{

c = c-89;

printf("%d\n ", a[9]);

for(n = 8; n & gt=0;n -)

{

si(a[n ]<=c)

{

c = c-a[n];

printf("%d\n ",a[n]) ;

}

}

}

}