{"id":6438,"date":"2021-05-20T06:00:09","date_gmt":"2021-05-20T04:00:09","guid":{"rendered":"http:\/\/www.glc.us.es\/~jalonso\/exercitium\/?p=6438"},"modified":"2021-05-27T11:37:56","modified_gmt":"2021-05-27T09:37:56","slug":"sumas-y-productos-de-digitos","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/sumas-y-productos-de-digitos\/","title":{"rendered":"Sumas y productos de d\u00edgitos"},"content":{"rendered":"<p>El enunciado de un problema 3 de la <a href=\"https:\/\/bit.ly\/3nY6lN2\">Fase Local de la Olimpiada Matem\u00e1tica Espa\u00f1ola del<br \/>\n2000<\/a> es<\/p>\n<blockquote><p>\n  \u00bfCu\u00e1ntos n\u00fameros, comprendidos entre 1.000 y 9.999, verifican que la suma de sus cuatro d\u00edgitos es mayor o igual que el producto de los mismos? \u00bfPara cu\u00e1ntos de ellos se verifica la igualdad?\n<\/p><\/blockquote>\n<p>Definir las funciones<\/p>\n<pre lang=\"text\">\n   conMayorSumaQueProducto :: Int -> Int -> [Int]\n   conIgualSumaQueProducto :: Int -> Int -> [Int]\n<\/pre>\n<p>tales que<\/p>\n<ul>\n<li>(conMayorSumaQueProducto a b) es la lista de los n\u00fameros del intervalo [a,b] tales que la suma de sus d\u00edgitos es mayor que el producto de los mismos. Por ejemplo,<\/li>\n<\/ul>\n<pre lang=\"text\">\n     \u03bb> conMayorSumaQueProducto 20 99\n     [20,21,30,31,40,41,50,51,60,61,70,71,80,81,90,91]\n     \u03bb> conMayorSumaQueProducto 120 199\n     [120,121,122,130,131,140,141,150,151,160,161,170,171,180,181,190,191]\n     \u03bb> conMayorSumaQueProducto 220 299\n     [220,221,230,240,250,260,270,280,290]\n<\/pre>\n<ul>\n<li>(conIgualSumaQueProducto a b) es la lista de los n\u00fameros del intervalo [a,b] tales que la suma de sus d\u00edgitos es igual que el producto de los mismos. Por ejemplo,<\/li>\n<\/ul>\n<pre lang=\"text\">\n     \u03bb> conIgualSumaQueProducto 10 99\n     [22]\n     \u03bb> conIgualSumaQueProducto 100 999\n     [123,132,213,231,312,321]\n<\/pre>\n<p>Usando las funciones anteriores, calcular las respuestas a las preguntas del problema de la Olimpiada.<\/p>\n<h4>Soluciones<\/h4>\n<p>[schedule on=&#8217;2021-05-27&#8242; at=\u00bb06:00&#8243;]<\/p>\n<pre lang=\"haskell\">\nconMayorSumaQueProducto :: Int -> Int -> [Int]\nconMayorSumaQueProducto a b =\n  [x | x <- [a..b],\n       let xs = digitos x,\n       sum xs > product xs]\n\nconIgualSumaQueProducto :: Int -> Int -> [Int]\nconIgualSumaQueProducto a b =\n  [x | x <- [a..b],\n       let xs = digitos x,\n       sum xs == product xs]\n\n-- (digitos n) es la lista de los d\u00edgitos de n. Por ejemplo,\n--    digitos 325 == [3,2,5]\ndigitos :: Int -> [Int]\ndigitos a = [read [c] | c <-show a]\n\n-- C\u00e1lculo de las respuestas\n-- =========================\n\n-- La cantidad de n\u00fameros, comprendidos entre 1.000 y 9.999, tales\n-- que la suma de sus cuatro d\u00edgitos es mayor o igual que el producto de\n-- los mismos se calcula con\n--    \u03bb> length (conMayorSumaQueProducto 1000 9999 ++ conIgualSumaQueProducto 1000 9999)\n--    2502\n-- Por tanto, hay 2502 n\u00fameros que cumplen la primera condici\u00f3n.\n\n-- La cantidad de n\u00fameros, comprendidos entre 1.000 y 9.999, tales\n-- que la suma de sus cuatro d\u00edgitos es igual que el producto de los\n-- mismos se calcula con\n--    \u03bb> length (conIgualSumaQueProducto 1000 9999)\n--    12\n-- Por tanto, hay 12 n\u00fameros que cumplen la segunda condici\u00f3n. La lista\n-- de dichos n\u00fameros se puede calcular con\n--    \u03bb> conIgualSumaQueProducto 1000 9999\n--    [1124,1142,1214,1241,1412,1421,2114,2141,2411,4112,4121,4211]\n<\/pre>\n<h4>Nuevas soluciones<\/h4>\n<ul>\n<li>En los comentarios se pueden escribir nuevas soluciones.\n<li>El c\u00f3digo se debe escribir entre una l\u00ednea con &#60;pre lang=&quot;haskell&quot;&#62; y otra con &#60;\/pre&#62;\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>El enunciado de un problema 3 de la Fase Local de la Olimpiada Matem\u00e1tica Espa\u00f1ola del 2000 es \u00bfCu\u00e1ntos n\u00fameros, comprendidos entre 1.000 y 9.999, verifican que la suma de sus cuatro d\u00edgitos es mayor o igual que el producto de los mismos? \u00bfPara cu\u00e1ntos de ellos se verifica la igualdad? Definir las funciones conMayorSumaQueProducto&#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":[2],"tags":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/6438"}],"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=6438"}],"version-history":[{"count":6,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/6438\/revisions"}],"predecessor-version":[{"id":6487,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/6438\/revisions\/6487"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/media?parent=6438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/categories?post=6438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/tags?post=6438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}