{"id":3591,"date":"2018-01-08T06:00:59","date_gmt":"2018-01-08T04:00:59","guid":{"rendered":"http:\/\/www.glc.us.es\/~jalonso\/exercitium\/?p=3591"},"modified":"2018-02-19T08:28:15","modified_gmt":"2018-02-19T06:28:15","slug":"numeros-apocalipticos","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/numeros-apocalipticos\/","title":{"rendered":"N\u00fameros apocal\u00edpticos"},"content":{"rendered":"<p>Un n\u00famero apocal\u00edptico es aquel n\u00famero natural n tal que 2^n contiene la secuencia 666.<\/p>\n<p>Definir las funciones<\/p>\n<pre lang=\"text\">\n   esApocaliptico           :: Integer -> Bool\n   apocalipticos            :: [Integer]\n   mayorNoApocalipticoMenor :: Integer -> Maybe Integer\n   grafica                  :: Integer -> IO ()\n<\/pre>\n<p>tales que<\/p>\n<ul>\n<li>(esApocaliptico n) se verifica si n es un n\u00famero apocal\u00edptico. Por ejemplo,<\/li>\n<\/ul>\n<pre lang=\"text\">\n     esApocaliptico 666    ==  True\n     esApocaliptico 29784  ==  False\n<\/pre>\n<ul>\n<li>apocalipticos es la lista de los n\u00fameros apocal\u00edpticos. Por ejemplo,<\/li>\n<\/ul>\n<pre lang=\"text\">\n     take 9 apocalipticos  ==  [157,192,218,220,222,224,226,243,245]\n     apocalipticos !! 55   ==  666\n<\/pre>\n<ul>\n<li>(mayorNoApocalipticoMenor n) es justo el mayor n\u00famero no apocal\u00edptico menor que n. Por ejemplo,<\/li>\n<\/ul>\n<pre lang=\"text\">\n     mayorNoApocalipticoMenor  40000  ==  Just 29784\n     mayorNoApocalipticoMenor  29784  ==  Just 26667\n<\/pre>\n<ul>\n<li>(grafica n) dibuja las gr\u00e1ficas de los n primeros t\u00e9rminos de la sucesi\u00f3n de los n\u00fameros apocal\u00edpticos junto con los de la sucesi\u00f3n a(n) = 3715+n. Por ejemplo, (grafica 3000) dibuja<br \/>\n<a href=\"https:\/\/i0.wp.com\/www.glc.us.es\/~jalonso\/exercitium\/wp-content\/uploads\/2018\/01\/Numeros_apocalipticos_3000.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.glc.us.es\/~jalonso\/exercitium\/wp-content\/uploads\/2018\/01\/Numeros_apocalipticos_3000.png?resize=640%2C480\" alt=\"Numeros_apocalipticos_3000\" width=\"640\" height=\"480\" class=\"aligncenter size-full wp-image-3593\" srcset=\"https:\/\/i0.wp.com\/www.glc.us.es\/~jalonso\/exercitium\/wp-content\/uploads\/2018\/01\/Numeros_apocalipticos_3000.png?w=640&amp;ssl=1 640w, https:\/\/i0.wp.com\/www.glc.us.es\/~jalonso\/exercitium\/wp-content\/uploads\/2018\/01\/Numeros_apocalipticos_3000.png?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.glc.us.es\/~jalonso\/exercitium\/wp-content\/uploads\/2018\/01\/Numeros_apocalipticos_3000.png?resize=100%2C75&amp;ssl=1 100w, https:\/\/i0.wp.com\/www.glc.us.es\/~jalonso\/exercitium\/wp-content\/uploads\/2018\/01\/Numeros_apocalipticos_3000.png?resize=150%2C112&amp;ssl=1 150w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\" \/><\/a><br \/>\ny (grafica 30000) dibuja<br \/>\n<a href=\"https:\/\/i0.wp.com\/www.glc.us.es\/~jalonso\/exercitium\/wp-content\/uploads\/2018\/01\/Numeros_apocalipticos_30000.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.glc.us.es\/~jalonso\/exercitium\/wp-content\/uploads\/2018\/01\/Numeros_apocalipticos_30000.png?resize=640%2C480\" alt=\"Numeros_apocalipticos_30000\" width=\"640\" height=\"480\" class=\"aligncenter size-full wp-image-3595\" srcset=\"https:\/\/i0.wp.com\/www.glc.us.es\/~jalonso\/exercitium\/wp-content\/uploads\/2018\/01\/Numeros_apocalipticos_30000.png?w=640&amp;ssl=1 640w, https:\/\/i0.wp.com\/www.glc.us.es\/~jalonso\/exercitium\/wp-content\/uploads\/2018\/01\/Numeros_apocalipticos_30000.png?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.glc.us.es\/~jalonso\/exercitium\/wp-content\/uploads\/2018\/01\/Numeros_apocalipticos_30000.png?resize=100%2C75&amp;ssl=1 100w, https:\/\/i0.wp.com\/www.glc.us.es\/~jalonso\/exercitium\/wp-content\/uploads\/2018\/01\/Numeros_apocalipticos_30000.png?resize=150%2C112&amp;ssl=1 150w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\" \/><\/a><\/li>\n<\/ul>\n<p><strong>Nota<\/strong>: Este ejercicio ha sido propuesto por \u00c1ngel Ruiz Campos.<\/p>\n<h4>Soluciones<\/h4>\n<pre lang=\"haskell\">\nimport Data.List (isInfixOf, find, genericTake)\nimport Graphics.Gnuplot.Simple\n\nesApocaliptico :: Integer -> Bool\nesApocaliptico = isInfixOf \"666\" . show . (2^)\n\napocalipticos :: [Integer]\napocalipticos = filter esApocaliptico [1..]\n\nmayorNoApocalipticoMenor :: Integer -> Maybe Integer\nmayorNoApocalipticoMenor n = find (not . esApocaliptico) [n-1,n-2..1]\n\ngrafica :: Integer -> IO ()\ngrafica n = \n  plotLists [ Key Nothing\n            , PNG (\"Numeros_apocalipticos_\" ++ show n ++ \".png\")\n            ]\n            [ genericTake n apocalipticos\n            , [3715..3715+n-1] ]\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Un n\u00famero apocal\u00edptico es aquel n\u00famero natural n tal que 2^n contiene la secuencia 666. Definir las funciones esApocaliptico :: Integer -> Bool apocalipticos :: [Integer] mayorNoApocalipticoMenor :: Integer -> Maybe Integer grafica :: Integer -> IO () tales que (esApocaliptico n) se verifica si n es un n\u00famero apocal\u00edptico. Por ejemplo, esApocaliptico 666 ==&#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":[38,135,306,316,181,11,375,33],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/3591"}],"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=3591"}],"version-history":[{"count":5,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/3591\/revisions"}],"predecessor-version":[{"id":3784,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/3591\/revisions\/3784"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/media?parent=3591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/categories?post=3591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/tags?post=3591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}