{"id":2968,"date":"2017-02-17T06:00:34","date_gmt":"2017-02-17T04:00:34","guid":{"rendered":"http:\/\/www.glc.us.es\/~jalonso\/exercitium\/?p=2968"},"modified":"2017-02-24T19:42:08","modified_gmt":"2017-02-24T17:42:08","slug":"sucesion-de-trazas-de-digitos-de-pi","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/sucesion-de-trazas-de-digitos-de-pi\/","title":{"rendered":"Sucesi\u00f3n de trazas de d\u00edgitos de pi"},"content":{"rendered":"<p>El fichero <a href=\"Digitos_de_pi.txt\">Digitos_de_pi.txt<\/a> contiene el n\u00famero pi con un mill\u00f3n de decimales; es decir,<\/p>\n<pre lang=\"text\">\n   3.1415926535897932384626433832 ... 83996346460422090106105779458151\n<\/pre>\n<p>Las matrices de orden 1&#215;1, 2&#215;2, &#8230;, 5&#215;5 formadas por los primeros d\u00edgitos de pi son<\/p>\n<pre lang=\"text\">\n   ( 3 )  ( 3 1 )  ( 3 1 4 )  ( 3 1 4 1 )  ( 3 1 4 1 5 )\n          ( 4 1 )  ( 1 5 9 )  ( 5 9 2 6 )  ( 9 2 6 5 3 )\n                   ( 2 6 5 )  ( 5 3 5 8 )  ( 5 8 9 7 9 )\n                              ( 9 7 9 3 )  ( 3 2 3 8 4 )\n                                           ( 6 2 6 4 3 )\n<\/pre>\n<p>y sus trazas (es decir, sumas de los elementos de la diagonal principal) son 3, 4, 13, 20 y 25, respectivamente.<\/p>\n<p>Definir la funci\u00f3n<\/p>\n<pre lang=\"text\">\n   trazas :: Int -> IO [Int]\n<\/pre>\n<p>tal que (trazas n) es la lista de las trazas de las matrices de orden 1&#215;1, 2&#215;2, 3&#215;3, &#8230;, nxn formadas por los primeros d\u00edgitos de pi. Por ejemplo,<\/p>\n<pre lang=\"text\">\n   \u03bb> trazas 20\n   [3,4,13,20,25,30,19,32,41,59,62,64,58,75,62,60,80,99,78,108]\n   \u03bb> ts <- trazas 1000\n   \u03bb> maximum ts\n   4644\n   \u03bb> maximum <$> trazas 1000\n   4644\n<\/pre>\n<h4>Soluciones<\/h4>\n<pre lang=\"haskell\">\nimport Data.Char (digitToInt)\nimport Data.Matrix (fromList, trace)\n\ntrazas :: Int -> IO [Int]\ntrazas n = do\n  (d:_:ds) <- readFile \"Digitos_de_pi.txt\"\n  let xs = map digitToInt (d:ds)\n  return [trace (fromList k k xs) | k <- [1..n]]\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>El fichero Digitos_de_pi.txt contiene el n\u00famero pi con un mill\u00f3n de decimales; es decir, 3.1415926535897932384626433832 &#8230; 83996346460422090106105779458151 Las matrices de orden 1&#215;1, 2&#215;2, &#8230;, 5&#215;5 formadas por los primeros d\u00edgitos de pi son ( 3 ) ( 3 1 ) ( 3 1 4 ) ( 3 1 4 1 ) ( 3 1 4&#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,248,369,261,10,42,11,370,371,374],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/2968"}],"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=2968"}],"version-history":[{"count":3,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/2968\/revisions"}],"predecessor-version":[{"id":3016,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/2968\/revisions\/3016"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/media?parent=2968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/categories?post=2968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/tags?post=2968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}