{"id":2630,"date":"2016-11-29T06:00:54","date_gmt":"2016-11-29T04:00:54","guid":{"rendered":"http:\/\/www.glc.us.es\/~jalonso\/exercitium\/?p=2630"},"modified":"2016-12-06T11:34:07","modified_gmt":"2016-12-06T09:34:07","slug":"huecos-de-euclides","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/huecos-de-euclides\/","title":{"rendered":"Huecos de Euclides"},"content":{"rendered":"<p>El <a href=\"http:\/\/bit.ly\/2fYnK4i\">teorema de Euclides<\/a> afirma que existen infinitos n\u00fameros primos. En palabras de Euclides,<\/p>\n<blockquote><p>\n  \u00abHay m\u00e1s n\u00fameros primos que cualquier cantidad propuesta de n\u00fameros primos.\u00bb (<a href=\"http:\/\/bit.ly\/2gc9iZz\">Proposici\u00f3n 20 del Libro IX de \u00abLos Elementos\u00bb<\/a>)\n<\/p><\/blockquote>\n<p>Su demostraci\u00f3n se basa en que si p\u2081,&#8230;,p\u2099 son los primeros n n\u00fameros primos, entonces entre 1+p\u2099 y 1+p\u2081\u00b7p\u2082\u00b7&#8230;\u00b7p\u2099 hay alg\u00fan n\u00famero primo. La cantidad de dichos n\u00fameros primos se llama el n-\u00e9simo <strong>hueco de Euclides<\/strong>. Por ejemplo, para n = 3 se tiene que p\u2081 = 2, p\u2082 = 3 y p\u2083 = 5 entre 1+p\u2083 = 6 y 1+p\u2081\u00b7p\u2082\u00b7p\u2083 = 31 hay 8 n\u00fameros primos   (7, 11, 13, 17, 19, 23, 29 y 31), por lo que el valor del tercer hueco de Euclides es 8.<\/p>\n<p>Definir la funci\u00f3n<\/p>\n<pre lang=\"text\">\n   hueco :: Int -> Integer\n<\/pre>\n<p>tal que (hueco n) es el n-\u00e9simo hueco de Eulides. Por ejemplo,<\/p>\n<pre lang=\"text\">\n   hueco 3                   ==  8\n   [hueco n | n <- [1..8]]   ==  [1,2,8,43,339,3242,42324,646021]\n<\/pre>\n<h4>Soluciones<\/h4>\n<pre lang=\"haskell\">\nimport Data.List\nimport Data.Numbers.Primes\n\nhueco :: Int -> Integer\nhueco n = nPrimosEntre (primes !! (n-1)) (1 + product (take n primes))\n\n-- (nPrimosEntre x y) es el n\u00famero de primos entre x e y. Por ejemplo, \n--    nPrimosEntre 3 7  ==  2\nnPrimosEntre :: Integer -> Integer -> Integer\nnPrimosEntre x y = genericLength (primosEntre x y)\n\n-- (primosEntre x y) es la lista de los n\u00fameros de primos entre x e\n-- y. Por ejemplo,  \n--    primosEntre 3 7  ==  [5,7]\nprimosEntre :: Integer -> Integer -> [Integer]\nprimosEntre x y =\n  takeWhile (<=y) (dropWhile (<=x) primes)\n<\/pre>\n<h4>Referencias<\/h4>\n<ul>\n<li><a href=\"http:\/\/bit.ly\/2fYnK4i\">Euclid's theorem<\/a> en la <a href=\"http:\/\/bit.ly\/2gcdN6i\">ProofWiki<\/a>. <\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>El teorema de Euclides afirma que existen infinitos n\u00fameros primos. En palabras de Euclides, \u00abHay m\u00e1s n\u00fameros primos que cualquier cantidad propuesta de n\u00fameros primos.\u00bb (Proposici\u00f3n 20 del Libro IX de \u00abLos Elementos\u00bb) Su demostraci\u00f3n se basa en que si p\u2081,&#8230;,p\u2099 son los primeros n n\u00fameros primos, entonces entre 1+p\u2099 y 1+p\u2081\u00b7p\u2082\u00b7&#8230;\u00b7p\u2099 hay alg\u00fan n\u00famero&#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":[59,258,11,173,157,47,34],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/2630"}],"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=2630"}],"version-history":[{"count":2,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/2630\/revisions"}],"predecessor-version":[{"id":2660,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/2630\/revisions\/2660"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/media?parent=2630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/categories?post=2630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/tags?post=2630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}