많은 주요 생성 함수가 있습니다. 그것들의 대부분은 에라토스테네스의 체, 뫼비우스 함수 또는 윌슨의 정리에 기반을두고 있으며 일반적으로 실제로 계산하기가 불가능합니다. 그러나 매우 쉬운 구조를 가지고 우연히 발견 된 발전기도 있습니다.
2003 년 Stephen Wolfram은 NKS Summer School의 라이브 컴퓨터 실험에서 중첩 된 재귀 방정식을 탐색했습니다. Matthew Frank 주변의 사람들이 추가 실험을 수행하고 단순히 재발의 흥미로운 속성을 발견했습니다.
a(n) = a(n-1) + gcd(n,a(n-1))
시작 값이입니다 a(1) = 7
. 그 차이는 a(n) - a(n-1) = gcd(n,a(n-1))
항상 1 또는 소수 인 것처럼 보였다. 처음 몇 가지 차이점은 ( OEIS A132199 )입니다.
1, 1, 1, 5, 3, 1, 1, 1, 1, 11, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 3, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 47, 3, 1, 5, 3, ...
1 만 생략하면 다음과 같은 순서를 얻습니다 ( OEIS A137613 ).
5, 3, 11, 3, 23, 3, 47, 3, 5, 3, 101, 3, 7, 11, 3, 13, 233, 3, 467, 3, 5, 3,
941, 3, 7, 1889, 3, 3779, 3, 7559, 3, 13, 15131, 3, 53, 3, 7, 30323, 3, ...
Eric S. Rowland 는 몇 년 후이 목록의 각 요소의 중요성을 입증했습니다. 보시다시피, 소수는 혼합되어 있으며 일부는 여러 번 나타납니다. 또한이 시퀀스에는 무한히 많은 고유 한 소수가 포함되어 있음이 입증되었습니다. 또한 모든 홀수 소수가 나타나는 것으로 추측됩니다.
이 주요 발전기는 건설 된 것이 아니라 우연히 발견 되었기 때문에 "자연 발생"이라고합니다. 그러나 실제로이 생성기는 계산하기가 매우 불가능합니다. 결과적으로 소수는 (p–3)/2
연속 1 초 후에 만 나타납니다 . 그럼에도 불구하고이 주요 생성기를 구현하는 것이 당신의 임무입니다.
도전:
n
시퀀스 의 첫 번째 요소 A137613
(1이없는 시퀀스) 를 인쇄하는 함수 또는 프로그램을 작성하십시오 . n >= 0
STDIN, 명령 행 인수, 프롬프트 또는 함수 인수를 통해 입력 번호 를 읽을 수 있습니다 . n
읽을 수있는 형식 의 첫 번째 요소를 STDOUT에 출력하거나 이러한 값을 가진 배열 또는 목록을 리턴하십시오.
이것은 코드 골프입니다. 따라서 가장 짧은 코드가 승리합니다.
리더 보드 :
다음은 일반 리더 보드와 언어 별 수상자 개요를 생성하는 스택 스 니펫입니다. 답변이 표시되도록하려면 다음 마크 다운 템플릿을 사용하여 헤드 라인으로 답변을 시작하십시오.
# Language Name, N bytes
여기서 N은 제출 크기입니다. 점수를 높이면 헤드 라인을 쳐서 오래된 점수를 유지할 수 있습니다. 예를 들어 :
# Ruby, <s>104</s> <s>101</s> 96 bytes
var QUESTION_ID=55272;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function shouldHaveHeading(e){var a=!1,r=e.body_markdown.split("\n");try{a|=/^#/.test(e.body_markdown),a|=["-","="].indexOf(r[1][0])>-1,a&=LANGUAGE_REG.test(e.body_markdown)}catch(n){}return a}function shouldHaveScore(e){var a=!1;try{a|=SIZE_REG.test(e.body_markdown.split("\n")[0])}catch(r){}return a}function getAuthorName(e){return e.owner.display_name}function process(){answers=answers.filter(shouldHaveScore).filter(shouldHaveHeading),answers.sort(function(e,a){var r=+(e.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0],n=+(a.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0];return r-n});var e={},a=1,r=null,n=1;answers.forEach(function(s){var t=s.body_markdown.split("\n")[0],o=jQuery("#answer-template").html(),l=(t.match(NUMBER_REG)[0],(t.match(SIZE_REG)||[0])[0]),c=t.match(LANGUAGE_REG)[1],i=getAuthorName(s);l!=r&&(n=a),r=l,++a,o=o.replace("{{PLACE}}",n+".").replace("{{NAME}}",i).replace("{{LANGUAGE}}",c).replace("{{SIZE}}",l).replace("{{LINK}}",s.share_link),o=jQuery(o),jQuery("#answers").append(o),e[c]=e[c]||{lang:c,user:i,size:l,link:s.share_link}});var s=[];for(var t in e)e.hasOwnProperty(t)&&s.push(e[t]);s.sort(function(e,a){return e.lang>a.lang?1:e.lang<a.lang?-1:0});for(var o=0;o<s.length;++o){var l=jQuery("#language-template").html(),t=s[o];l=l.replace("{{LANGUAGE}}",t.lang).replace("{{NAME}}",t.user).replace("{{SIZE}}",t.size).replace("{{LINK}}",t.link),l=jQuery(l),jQuery("#languages").append(l)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:<(?:s>[^&]*<\/s>|[^&]+>)[^\d&]*)*$)/,NUMBER_REG=/\d+/,LANGUAGE_REG=/^#*\s*([^,]+)/;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table></div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table></div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody></table><table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody></table>