Kata Potter

propuesto por fernandoescolar

Harry Potter es una colección de 7 novelas fantásticas escrita por la autora británica J. K. Rowling, en la que se describen las aventuras del joven aprendiz de mago Harry Potter y sus amigos. Nuestra librería ha decidido poner en venta los libros con una oferta especial.

Enunciado

Harry Potter es una colección de 7 novelas fantásticas escrita por la autora británica J. K. Rowling, en la que se describen las aventuras del joven aprendiz de mago Harry Potter y sus amigos. Nuestra librería ha decidido poner en venta los libros con una oferta especial.

  • Cada libro cuesta 8€
  • Si compras 2 libros diferentes tienes un 5% de descuento
  • si compras 3 libros diferentes tienes un 10% de descuento
  • si compras 4 libros diferentes tienes un 15% de descuento
  • si compras 5 libros diferentes tienes un 20% de descuento
  • si compras 6 libros diferentes tienes un 30% de descuento
  • si compras toda la colección tienes un 45% de descuento

Tras la locura desatada por semejante oferta, la librería se está llenando de adolescentes alocados comprando libros en grandes cantidades y las cajeras no dan a basto porque pierden mucho tiempo realizando cálculos.

Por lo tanto tu objetivo es crear un módulo de código fuente que pueda aportar la solución a este problema y devuelva el precio de compra para cada combinación que haga cualquier cliente.

Se proponen algunos ejemplos prácticos para entender los diferentes casos:
  • comprando 2 copias del primer libro el precio es 8€ por unidad: 8 * 2 = 16
  • comprando 3 copias del primer libro y una del segundo: (8€ * 2librosdiferentes * 0.95descuento) + (8€ * 2libros_iguales)
  • Comprando 5 copias de toda la colección: (8€ * 7librosdiferentes * 0.55descuento) * 5_copias

Basada en la kata Potter: http://codingdojo.org/cgi-bin/wiki.pl?KataPotter

Ver todo el enunciado

Preguntas sobre el desafío

¿Tienes dudas sobre el desafío? plantéala aquí

Plantea tu pregunta

11 Soluciones

Dar mi solución

0votos
Kata Potter en Scala
por

Miuler

usando sbteclipse hace 1 año

Ejecutar el comando sbt test para ver el resultado del test. Puedes usar el eclipse para editar el proyecto pero previamente tienes que hacer un sbt eclipse para que actualice tus referencias en el archivo .classpath además de tener instalado el plugin scalaide. Nota: tienes que instalar el sbt, aún no lo he metido dentro del proyecto.

0votos
Kata Potter en Java
por

adesito

usando java6 hace 1 año

Solución en java. Se crean 2 objetos (Paquete y Grupo). Paquete es tipo de libro y la cantidad. Grupo es el conjunto de libros diferentes más grande, que se puede formar con los paquetes de libros que tenemos en la cesta (tipo Vector<Paquete>).

0votos
Kata Potter en C++
por

Alansc

hace 1 año

Se basa en un algorismo que intenta formar el conjunto de libros distintos más grande en cada iteración para aplicar el major descuento possible hasta que no queden libros en la cesta.

Dar mi solución