Red de conocimiento informático - Consumibles informáticos - (Lenguaje C) Un trozo de material con una longitud de 133 m debe cortarse en materiales cortos con una longitud de 19 m y 23 m. Descubra cuánto material queda cuando los dos materiales cortos se cortan en varias longitudes.

(Lenguaje C) Un trozo de material con una longitud de 133 m debe cortarse en materiales cortos con una longitud de 19 m y 23 m. Descubra cuánto material queda cuando los dos materiales cortos se cortan en varias longitudes.

Hola cartel, si entendí bien tu pregunta, la primera pregunta es saber ¿cuántos trozos de material corto se cortan en cada uno, para que el material restante sea el mínimo?

Entonces el código es el siguiente:

#include lt;stdio.hgt;

int main()

{

int a = 133; //La longitud total es de 133 metros

int x, y //Indica que 19m tiene una sección en x y 23 metros tiene una sección en y

int z[100] ; //Se utiliza para almacenar la longitud restante z de cada ciclo

z[0]=133 //Inicializa la matriz z

int i; =1;

//Indica que cuando x es x_min, y es y_min yz es z_min, la longitud restante z es la más pequeña

int x_min = 0;

int y_min = 0;

int z_min = 0;

for(x=0; xlt; =7; x )

{

for(y=0; ylt; =5; y )

{

z[i]=133-x*19-y*23;

if( z[i]gt; =0 amp; amp; z[i]lt; z[i-1])

{

x_min = x

y_min = y;

z_min = z[i]

}

i=i 1;

}

}

printf("d d d \n", x_min, y_min, z_min

return

}

El resultado final es x =5 y=1 z=15

Es decir, quedan al menos 15 metros

Segunda pregunta:

Análisis de la segunda pregunta

La prioridad del desplazamiento bit a izquierda lt;lt; es mayor que el bit a bit OR|

Entonces ylt;lt;2 se opera primero

El binario de 3 es 00000011, y el desplazamiento a la izquierda de 2 bits es 00001100 Usa decimal para representar 12

Luego calcula 2|12

2 usa 8 bits para representar 00000010

12 usa 8 bits para representar 00001100

OR bit a bit significa hacer OR en cada bit correspondiente 0|0=0 1|0=1 0|1=1 1|1= 1

Entonces la respuesta es 00001110 usando notación decimal para representar el bit 14