{"id":2286,"date":"2012-11-13T16:03:19","date_gmt":"2012-11-13T16:03:19","guid":{"rendered":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/?p=2286"},"modified":"2013-03-08T05:47:39","modified_gmt":"2013-03-08T05:47:39","slug":"i1m2012-numeros-sin-coprimos-no-primos","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/i1m2012-numeros-sin-coprimos-no-primos\/","title":{"rendered":"I1M2012: N\u00fameros sin coprimos no primos"},"content":{"rendered":"<p>En la primera parte de la clase de hoy de <a href=\"http:\/\/www.cs.us.es\/~jalonso\/cursos\/i1m-12\">Inform\u00e1tica de 1\u00ba del Grado en Matem\u00e1ticas<\/a> hemos comentado la soluci\u00f3n con Haskell del problema propuesto la Olimpiada Internacional de Matem\u00e1ticas (IMO) de 1978 cuyo enunciado es<\/p>\n<blockquote><p>\nCalcular todos los n\u00fameros naturales n < 1978 con la siguiente propiedad: Si m es un n\u00famero natural, 1 < m < n, y m y n son coprimos (es decir, el m\u00e1ximo com\u00fan divisor de m y n es 1), entonces m es un n\u00famero primo. \n<\/p><\/blockquote>\n<p>La representaci\u00f3n matem\u00e1tica del enunciado es<\/p>\n<blockquote><p>\n{n\u2208\u2115 | n<1978, \u2200m\u2208\u2115 (1 < m < n \u2227 mcd(n,m) = 1 \u27f6 m es primo} \n<\/p><\/blockquote>\n<p>y su traducci\u00f3n a Haskell es<\/p>\n<pre lang=\"haskell\">\r\nsolP2 :: [Integer]\r\nsolP2 = [n | n <- [1..1977], \r\n             and [primo m | m <- [2..n-1], gcd n m == 1]]\r\n<\/pre>\n<p>donde (primo m) se verifica si m es primo  <\/p>\n<pre lang=\"haskell\">\r\nprimo :: Integer -> Bool\r\nprimo n = factores n == [1,n]\r\n<\/pre>\n<p>y (factores n) es la lista de los n\u00fameros que dividen a n<\/p>\n<pre lang=\"haskell\">\r\nfactores :: Integer -> [Integer]\r\nfactores n = [m | m <- [1..n], n `rem` m == 0]\r\n<\/pre>\n<p>La soluci\u00f3n del problema se calcula con<\/p>\n<pre lang=\"shell\">\r\nghci> solP2\r\n[1,2,3,4,6,8,12,18,24,30]\r\n<\/pre>\n<p>Se puede generalizar solP2 a una funci\u00f3n solP2' tal que (solP2' x) es el conjunto de los n\u00fameros naturales n < x tales que si m es un n\u00famero natural, 1 < m < n, y m y n son coprimos, entonces m es un n\u00famero primo.\n\n\n<pre lang=\"haskell\"> \r\nsolP2' :: Integer -> [Integer]\r\nsolP2' x = [n | n <- [1..x], \r\n                and [primo m | m <- [2..n-1], gcd n m == 1]]\r\n<\/pre>\n<p>Por ejemplo,<\/p>\n<pre lang=\"shell\">\r\nghci> solP2' 2012\r\n[1,2,3,4,6,8,12,18,24,30]\r\nghci> solP2' 3000\r\n[1,2,3,4,6,8,12,18,24,30]\r\n<\/pre>\n<p>A la vista de los c\u00e1lculos anteriores se conjetura que el conjunto de los n\u00fameros naturales n tales que si m es un n\u00famero natural, 1 < m < n, y m y n son coprimos, entonces m es un n\u00famero primo es [1,2,3,4,6,8,12,18,24,30]. \n\n\n\n<p>Queda pendiente la demostraci\u00f3n de la conjetura. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>En la primera parte de la clase de hoy de Inform\u00e1tica de 1\u00ba del Grado en Matem\u00e1ticas hemos comentado la soluci\u00f3n con Haskell del problema propuesto la Olimpiada Internacional de Matem\u00e1ticas (IMO) de 1978 cuyo enunciado es Calcular todos los n\u00fameros naturales n < 1978 con la siguiente propiedad: Si m es un n\u00famero natural,...\n<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","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":[1],"tags":[270,298,200],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/2286"}],"collection":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/comments?post=2286"}],"version-history":[{"count":28,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/2286\/revisions"}],"predecessor-version":[{"id":2752,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/2286\/revisions\/2752"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/media?parent=2286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/categories?post=2286"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/tags?post=2286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}