{"id":1786,"date":"2015-12-03T06:00:55","date_gmt":"2015-12-03T04:00:55","guid":{"rendered":"http:\/\/www.glc.us.es\/~jalonso\/exercitium\/?p=1786"},"modified":"2015-12-10T08:56:56","modified_gmt":"2015-12-10T06:56:56","slug":"numeros-de-armstrong","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/numeros-de-armstrong\/","title":{"rendered":"Los n\u00fameros de Armstrong"},"content":{"rendered":"<p>Un n\u00famero de n d\u00edgitos es un n\u00famero de Armstrong si es igual a la suma de las n-\u00e9simas potencias de sus d\u00edgitos. Por ejemplo, 371,  8208 y 4210818 son n\u00fameros de Armstrong ya que<\/p>\n<pre lang=\"text\"> \n       371 = 3^3 + 7 + 1\u00b3 y  \n      8208 = 8^4 + 2^4 + 0^4 + 8^4 \n   4210818 = 4^7 + 2^7 + 1^7 + 0^7 + 8^7 + 1^7 + 8^7\n<\/pre>\n<p>Definir las funciones<\/p>\n<pre lang=\"text\"> \n   esArmstrong :: Integer -> Bool\n   armstrong   :: [Integer]\n<\/pre>\n<p>tales que<\/p>\n<ul>\n<li>(esArmstrong x) se verifica si x es un n\u00famero de Armstrong. Por ejemplo, <\/li>\n<\/ul>\n<pre lang=\"text\"> \n     esArmstrong 371                                      ==  True\n     esArmstrong 8208                                     ==  True\n     esArmstrong 4210818                                  ==  True\n     esArmstrong 2015                                     ==  False\n     esArmstrong 115132219018763992565095597973971522401  ==  True\n     esArmstrong 115132219018763992565095597973971522402  ==  False\n<\/pre>\n<ul>\n<li>armstrong es la lista cuyos elementos son los n\u00fameros de Armstrong. Por ejemplo, <\/li>\n<\/ul>\n<pre lang=\"text\"> \n     \u03bb> take 18 armstrong\n     [1,2,3,4,5,6,7,8,9,153,370,371,407,1634,8208,9474,54748,92727]\n<\/pre>\n<p>Comprobar con QuickCheck que los n\u00fameros mayores que<br \/>\n115132219018763992565095597973971522401 no son n\u00fameros de Armstrong.<\/p>\n<h4>Soluciones<\/h4>\n<pre lang=\"haskell\">\nimport Test.QuickCheck\n\nesArmstrong :: Integer -> Bool\nesArmstrong x = \n    x == sum [d^n | d <- digitos x]\n    where n = length (show x)\n\n-- (digitos x) es la lista de los d\u00edgitos de x. Por ejemplo,\n--    digitos 325  ==  [3,2,5]\ndigitos :: Integer -> [Integer]\ndigitos x = [read [d] | d <- show x]\n\narmstrong :: [Integer]\narmstrong = [n | n <- [1..], esArmstrong n]\n\n-- La propiedad es\nprop_Armstrong :: Integer -> Bool\nprop_Armstrong n =\n    not (esArmstrong (115132219018763992565095597973971522401 + abs n + 1))\n\n-- La comprobaci\u00f3n es\n--    \u03bb> quickCheck prop_Armstrong\n--    +++ OK, passed 100 tests.\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Un n\u00famero de n d\u00edgitos es un n\u00famero de Armstrong si es igual a la suma de las n-\u00e9simas potencias de sus d\u00edgitos. Por ejemplo, 371, 8208 y 4210818 son n\u00fameros de Armstrong ya que 371 = 3^3 + 7 + 1\u00b3 y 8208 = 8^4 + 2^4 + 0^4 + 8^4 4210818 = 4^7&#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":[8,28,181,95,33,40,146],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/1786"}],"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=1786"}],"version-history":[{"count":4,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/1786\/revisions"}],"predecessor-version":[{"id":1844,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/1786\/revisions\/1844"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/media?parent=1786"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/categories?post=1786"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/tags?post=1786"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}