{"id":3143,"date":"2017-03-28T06:00:33","date_gmt":"2017-03-28T04:00:33","guid":{"rendered":"http:\/\/www.glc.us.es\/~jalonso\/exercitium\/?p=3143"},"modified":"2017-04-04T06:45:37","modified_gmt":"2017-04-04T04:45:37","slug":"el-problema-del-reciclado","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/el-problema-del-reciclado\/","title":{"rendered":"El problema del reciclado"},"content":{"rendered":"<p>El problema del reciclado N P consiste en lo siguiente: un grupo de personas disponen de N botellas de refresco vac\u00eda y las llevan a reciclar obteniendo una botella llena por cada P vac\u00edas; se beben inmediatamente el contenido de las botellas obtenidas y sus botellas vac\u00edas, junto con las no recicladas anteriormente, las canjean por botellas llenas. El proceso contin\u00faa hasta que no tienen suficientes botellas para canjear. El objetivo del problema es calcular el n\u00famero de botellas que se han bebido.<\/p>\n<p>Por ejemplo, si disponen de 10 botellas y por cada 2 obtienen 1, se producen cuatro canjeos:<\/p>\n<ul>\n<li>en el primer canjeo entregan las 10 y obtienen 5;<\/li>\n<li>en el segundo, entregan 4, le quedan 1 y obtienen 2;<\/li>\n<li>en el tercero, entregan 2, le queda 1 y obtienen 1;<\/li>\n<li>en el cuarto, entregan 2 y obtienen 1.<\/li>\n<\/ul>\n<p>Por tanto, se han bebido 9 y le quedan 1 que no pueden canjear.<\/p>\n<p>Definir la funci\u00f3n<\/p>\n<pre lang=\"text\">\n   reciclado :: Int -> Int -> Int\n<\/pre>\n<p>tal que (reciclado n p) es el n\u00famero de botellas que se beben en el reciclado comenzado con n botellas y canjeando p botellas vac\u00edas por una llena. Por ejemplo,<\/p>\n<pre lang=\"text\">\n   reciclado  9 3  ==  4\n   reciclado 10 2  ==  9\n<\/pre>\n<p><strong>Referencia<\/strong>: Este ejercicio est\u00e1 basado en el problema <a href=\"http:\/\/bit.ly\/2n9yY8W\">Soda surpler<\/a> de <a href=\"https:\/\/open.kattis.com\">Kattis<\/a>.<\/p>\n<h4>Soluciones<\/h4>\n<pre lang=\"haskell\">\nreciclado :: Int -> Int -> Int\nreciclado n p = aux n 0\n  where aux x k | x < p     = k\n                | otherwise = aux (a+b) (k+a) \n          where (a,b) = divMod x p\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>El problema del reciclado N P consiste en lo siguiente: un grupo de personas disponen de N botellas de refresco vac\u00eda y las llevan a reciclar obteniendo una botella llena por cada P vac\u00edas; se beben inmediatamente el contenido de las botellas obtenidas y sus botellas vac\u00edas, junto con las no recicladas anteriormente, las canjean&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false},"categories":[4],"tags":[328,6],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/3143"}],"collection":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/comments?post=3143"}],"version-history":[{"count":6,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/3143\/revisions"}],"predecessor-version":[{"id":3183,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/3143\/revisions\/3183"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/media?parent=3143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/categories?post=3143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/tags?post=3143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}