Informática, pregunta formulada por adrianaquisbert123, hace 29 días

El chocolate Moskita (chocolate) Son ya 11 años que conocemos de la existencia de los Ositos Barrigoncitos Intergalácticos, son una extraña raza que ha sabido ocultarse entre nosotros y de vez en cuando tienen locas aventuras que luego son narradas en problemas de programación. Por razones convenientes para la descripción de este problema llamaremos OBI a estos Ositos. Luego del nombramiento del nuevo líder barrigoncito, un pequeño grupo de OBIs tomaron la deci- sión de mudarse a Moscalandia a recopilar información sobre su población y poder colaborar a los OBI en su búsqueda de conquistar el 3er sol naciente de la galaxia IOI. Luego de un largo año trabajando en Moscalandia, nuestros amigos ahora conocidos como Moskitas al fin fueron otorgados con unas merecidas vacaciones. Penguino, uno de los OBIS Moskita, decidió asistir a la gran caminata anual por los lagos del plane- ta y llevo bastantes barras de chocolate Moskita para compartir con todos, cada barra de chocolate tiene N 1 divisiones, es decir está dividido en N partes. Nuestro amigo Penguino esta tan traumado con el concepto de "Divide y vencerás" que decide partir este chocolate en K partes lo más iguales posible (obviamente solo partiendo los chocolates por donde están las marcas de división ya establecidas). Con partes lo más iguales posibles, Penguino se refiere a que si debemos partir un chocolate de 7 partes en 3 partes "lo más iguales posible", quedaran dos partes de tamaño 2 y una parte de tamaño 3. O en general para cualquier Ny K, quedaran N mod K partes de tamaño (N div K) + 1 y las restantes partes serán de tamaño N div K(No olviden que mod significa modulo y div significa división entera). Pero se da cuenta que ahora debe volver a partir cada pedazo de chocolate (ahora con su nuevo tamaño), y así continua hasta que el chocolate queda partido en N pedazos. El OBI Penguino duda de la eficiencia de su algoritmo para partir el chocolate, por ello requiere de tu ayuda interespacial. Penguino te dirá la cantidad de divisiones N que tiene su chocolate, y el valor K que eligió para partirlo, es tu responsabilidad decirle 2 cosas a Penguino: ■ Cuantas veces en total partió el chocolate para que esté completamente partido. ■ Cuantas veces fue partido el pedazo que más veces se partió.​

Adjuntos:

Respuestas a la pregunta

Contestado por megatokay
0

Algoritmo en pseint para calcular la máxima equidad en las porciones de repartición de un chocolate marcado en divisiones para repartir. Se adjunta imagen de salida por pantalla y diagrama de flujo.

Algoritmo dividirChocolate

  • // Definir variables

Definir queda Como Real

Definir n,k,f,per, dif, div Como entero

Definir cntinuar Como Caracter

cntinuar <- 's'

Escribir 'Dividir todo el chocolate'

Escribir '****************************'

Mientras cntinuar='s' Hacer

 n <- 0

 k <- 0

 f <- 0

 per <- 0

  •  //Ingreso de datos válidos

 Escribir "Valor de N (Divisiones marcadas del chocolate):" Sin Saltar

 Repetir

  leer n

  si no (n>0) Entonces

   Escribir "Entrada inválida"

  FinSi

 Hasta Que n>0

 Escribir "Valor de K (Moskitas que reciben):" Sin Saltar

 Repetir

  leer k

  si no (k<n) Entonces

   Escribir "Entrada inválida, k debe ser menor que n"

  FinSi

 Hasta Que k<n

  •  //Procesar datos

 entro <- trunc(n/k)

 si n mod k <> 0 Entonces

  Repetir

   f <- f+1

   per<-k-f

   div <- entro*per

   dif <- n - div

   queda <- dif/f

  Hasta Que abs(entro-queda) = 1 o f < n

  •   //Imprimir resultados

  Escribir per, " Moskitas reciben ", entro, " trozos de chocolate"

  Escribir f, " Moskitas reciben ", queda, " trozos de chocolate"

  Escribir "Total de veces en que se partió el chocolate: " entro+queda

  Escribir "Veces que fue partido el pedazo que más veces se partió: " Sin Saltar

  si per > f Entonces

   Escribir per

  SiNo

   Escribir f

  FinSi

 SiNo

  Escribir k, " Moskitas reciben ", entro, " trozos de chocolate"

 FinSi

 Repetir

  Escribir '¿Otra vez (s/n)' Sin Saltar

  Leer cntinuar

 Mientras Que (cntinuar<>'s' Y cntinuar<>'n')

FinMientras

FinAlgoritmo

Para saber más acerca de algoritmo en pseint para resolver problemas consulte: https://brainly.lat/tarea/57394274

#SPJ1

Adjuntos:
Otras preguntas