বেশিরভাগ সংখ্যক প্রাইম উত্পাদনকারী ফাংশন রয়েছে। খুব সুন্দর এগুলি সমস্তই নির্মিত এবং এটি ইরোটোস্টিনিস, মাইবিয়াস ফাংশন বা উইলসনের উপপাদ্যকে চালিত করে এবং সাধারণত অনুশীলন হিসাবে গণনা করা যায় না। তবে জেনারেটরগুলিও রয়েছে, এটির খুব সহজ কাঠামো রয়েছে এবং এটি দুর্ঘটনাক্রমে পাওয়া গেছে।
2003 সালে স্টিফেন ওল্ফ্রাম এনকেএস গ্রীষ্মকালীন বিদ্যালয়ে একটি লাইভ কম্পিউটার পরীক্ষায় নেস্টেড পুনরাবৃত্তি সমীকরণগুলির একটি শ্রেণীর সন্ধান করেছিলেন। ম্যাথু ফ্র্যাঙ্কের আশেপাশের একদল লোক অতিরিক্ত পরীক্ষাগুলি অনুসরণ করেছিল এবং কেবল পুনরাবৃত্তির একটি আকর্ষণীয় সম্পত্তি আবিষ্কার করেছিল
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, ...
এরিক এস রোল্যান্ড কয়েক বছর পরে এই তালিকার প্রতিটি উপাদানটির আধিপত্য প্রমাণ করেছিলেন। আপনি দেখতে পাচ্ছেন, প্রাইমগুলি মিশ্রিত হয় এবং এর মধ্যে কয়েকটি একাধিকবার প্রদর্শিত হয়। এটিও প্রমাণিত হয়েছে যে ক্রমটি অসীম অনেকগুলি স্বতন্ত্র প্রাইমকে অন্তর্ভুক্ত করে। তদতিরিক্ত এটি অনুমান করা হয়, যে সমস্ত বিজোড় প্রাইম প্রদর্শিত হবে।
যেহেতু এই প্রাইম জেনারেটরটি নির্মাণ করা হয়নি তবে কেবল দুর্ঘটনাক্রমে পাওয়া গেছে, প্রাথমিক জেনারেটরটিকে "প্রাকৃতিকভাবে ঘটমান" বলা হয়। তবে লক্ষ্য করুন যে অনুশীলনে এই জেনারেটরটি গণনা করাও বেশ অপ্রয়োজনীয়। এটি দেখা যাচ্ছে যে, একটি প্রাইম পি কেবল (p–3)/2পরপর 1 সের পরে উপস্থিত হয় । তবুও এই প্রধান জেনারেটরটি কার্যকর করা আপনার কাজ হবে।
চ্যালেঞ্জ:
একটি ক্রিয়াকলাপ বা একটি প্রোগ্রাম লিখুন nযা সিকোয়েন্সের প্রথম উপাদানগুলি মুদ্রণ করে A137613(1s ছাড়াই অনুক্রম)। আপনি n >= 0এসটিডিআইএন, কমান্ড-লাইন আর্গুমেন্ট, প্রম্পট বা ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুট নম্বরটি পড়তে পারেন । nযেকোন পাঠযোগ্য বিন্যাসে প্রথম উপাদানগুলি STDOUT এ আউটপুট করুন বা এই মানগুলির সাথে একটি অ্যারে বা একটি তালিকা ফেরত দিন।
এটি কোড-গল্ফ। অতএব সংক্ষিপ্ততম কোড জিতেছে।
লিডারবোর্ড:
নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট। আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:
# Language Name, N bytes
যেখানে এন আপনার জমা দেওয়ার আকার। আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন। এই ক্ষেত্রে:
# 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>