{"id":1332,"date":"2015-04-16T06:50:20","date_gmt":"2015-04-16T04:50:20","guid":{"rendered":"http:\/\/www.glc.us.es\/~jalonso\/exercitium\/?p=1332"},"modified":"2016-05-01T17:57:52","modified_gmt":"2016-05-01T15:57:52","slug":"primos-hereditarios","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/primos-hereditarios\/","title":{"rendered":"Primos hereditarios"},"content":{"rendered":"<p>Un n\u00famero primo es hereditario si todos los n\u00fameros obtenidos eliminando d\u00edgitos por la derecha o por la izquierda son primos. Por ejemplo, 3797 es hereditario ya que los n\u00fameros obtenidos eliminando d\u00edgitos por la derecha son 3797, 379, 37 y 3 y los obtenidos eliminando d\u00edgitos por la izquierda son 3797, 797, 97 y 7 y todos ellos son primos.<\/p>\n<p>Definir la sucesi\u00f3n<\/p>\n<pre lang=\"text\">\n   hereditarios :: [Integer]\n<\/pre>\n<p>cuyos elementos son los n\u00fameros hereditarios. Por ejemplo,<\/p>\n<pre lang=\"text\">\n   ghci> take 15 hereditarios\n   [2,3,5,7,23,37,53,73,313,317,373,797,3137,3797,739397]\n<\/pre>\n<h4>Soluciones<\/h4>\n<pre lang=\"haskell\">\nimport Data.List (inits, tails)\nimport Data.Char (digitToInt)\nimport Data.Numbers.Primes (primes, isPrime)\n\nhereditarios :: [Integer]\nhereditarios = [n | n <- primes, hereditario n]\n\nhereditario :: Integer -> Bool\nhereditario n = \n    all odd (map digitToInt (tail ds)) &&\n    all isPrime (map read (tail (inits ds))) &&\n    all isPrime (map read (init (tails ds)))\n    where ds = show n\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Un n\u00famero primo es hereditario si todos los n\u00fameros obtenidos eliminando d\u00edgitos por la derecha o por la izquierda son primos. Por ejemplo, 3797 es hereditario ya que los n\u00fameros obtenidos eliminando d\u00edgitos por la derecha son 3797, 379, 37 y 3 y los obtenidos eliminando d\u00edgitos por la izquierda son 3797, 797, 97 y&#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":[41,8,248,285,74,174,10,92,11,173,95,33,45,75],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/1332"}],"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=1332"}],"version-history":[{"count":4,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/1332\/revisions"}],"predecessor-version":[{"id":1360,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/1332\/revisions\/1360"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/media?parent=1332"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/categories?post=1332"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/tags?post=1332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}