{"componentChunkName":"component---src-templates-blog-post-js","path":"/Algorithm/BOJ-2581-Python/","result":{"data":{"site":{"siteMetadata":{"title":"hyesungoh","author":"hyesungoh","siteUrl":"https://www.hyesungoh.xyz","comment":{"disqusShortName":"","utterances":"hyesungoh/blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"af52bc02-9090-5d38-8c3a-f3061008e8e6","excerpt":"n 이상 m 이하의 수 중에 소수의 합과 제일 작은 소수를 출력하며 소수가 없을 시 -1을 출력하는 문제. 에라토스테네스의 체를 이용하여 m 이하의 소수 리스트를 만든 후 n부터 m까지를 기준으로 반복문을 돌아 연산하여 풀었다.","html":"<p>n 이상 m 이하의 수 중에 소수의 합과 제일 작은 소수를 출력하며 소수가 없을 시 -1을 출력하는 문제. 에라토스테네스의 체를 이용하여 m 이하의 소수 리스트를 만든 후 n부터 m까지를 기준으로 반복문을 돌아 연산하여 풀었다.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">def</span> <span class=\"token function\">erato</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    sieve <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token boolean\">True</span> <span class=\"token keyword\">for</span> _ <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>m<span class=\"token operator\">+</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span>\n    sieve<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token boolean\">False</span>\n    max_n <span class=\"token operator\">=</span> <span class=\"token builtin\">int</span><span class=\"token punctuation\">(</span>m <span class=\"token operator\">**</span> <span class=\"token number\">0.5</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> max_n<span class=\"token operator\">+</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">if</span> sieve<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">:</span>\n            <span class=\"token keyword\">for</span> j <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>i<span class=\"token operator\">+</span>i<span class=\"token punctuation\">,</span> m<span class=\"token operator\">+</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> i<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n                sieve<span class=\"token punctuation\">[</span>j<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token boolean\">False</span>\n    <span class=\"token keyword\">return</span> sieve\n\nn <span class=\"token operator\">=</span> <span class=\"token builtin\">int</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\nm <span class=\"token operator\">=</span> <span class=\"token builtin\">int</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\nans <span class=\"token operator\">=</span> <span class=\"token number\">0</span>\nmin_n <span class=\"token operator\">=</span> <span class=\"token boolean\">False</span>\nprime_list <span class=\"token operator\">=</span> erato<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">,</span> m<span class=\"token operator\">+</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">if</span> prime_list<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">:</span>\n        ans <span class=\"token operator\">+=</span> i\n        <span class=\"token keyword\">if</span> <span class=\"token keyword\">not</span> min_n<span class=\"token punctuation\">:</span>\n            min_n <span class=\"token operator\">=</span> i\n\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%d\\n%d\"</span> <span class=\"token operator\">%</span><span class=\"token punctuation\">(</span>ans<span class=\"token punctuation\">,</span> min_n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">if</span> ans <span class=\"token operator\">!=</span> <span class=\"token number\">0</span> <span class=\"token keyword\">else</span> <span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span></code></pre></div>","frontmatter":{"title":"BOJ-2581 - Python","date":"November 20, 2020"}}},"pageContext":{"slug":"/Algorithm/BOJ-2581-Python/","previous":{"fields":{"slug":"/Algorithm/BOJ-4963-Python/"},"frontmatter":{"title":"BOJ-4963 - Python","category":"Algorithm","draft":false}},"next":{"fields":{"slug":"/Algorithm/BOJ-1929-Python/"},"frontmatter":{"title":"BOJ-1929 - Python","category":"Algorithm","draft":false}}}},"staticQueryHashes":["3128451518","3290666882"]}