ส่วนตำรวจ
ขอบคุณFryAmTheEggman , Peter Taylor , Nathan Merrill , xnor , Dennis , LaikoniและMegoสำหรับการมีส่วนร่วมของพวกเขา
ท้าทาย
งานของคุณคือการเขียนโปรแกรมที่แตกต่างกัน 2 โปรแกรม ( โปรแกรม / ฟังก์ชั่น / ฯลฯ ) ในภาษาเดียวกันและรุ่นเดียวกัน (เช่น Python 3.5 ≠ Python 3.4 ดังนั้นจึงไม่ได้รับอนุญาต) และเมื่อได้รับn (โดยใช้อาร์กิวเมนต์ STDIN / function / etc. ) คำนวณa (n)โดยที่aคือลำดับ OEIS ที่คุณเลือก หนึ่งในโปรแกรมเหล่านั้นสั้นกว่าอีกโปรแกรมหนึ่ง คุณจะต้องส่งโปรแกรมที่ยาวขึ้นของทั้งสอง อีกคนหนึ่งจะต้องได้รับการบันทึกในกรณีที่ไม่ได้รับการแตกหลังจาก 7 วัน การส่งของคุณจะแตกเมื่อโปรแกรมของคุณได้รับการ outgolfed (ไม่ว่าจะเป็น 1 byte หรือมากกว่า)
ตัวอย่างเช่นหากงานที่คุณเลือกคือดำเนินการ2 × nอาจเป็นการส่งที่ถูกต้อง (ใน Python 2):
Python 2, 16 ไบต์, คะแนน = 15/16 = 0.9375
print(2*input())
คำนวณA005843 , (offset = 0)
หากการส่งของคุณแตกแล้วคุณต้องระบุว่าในส่วนหัวของคุณเช่น:
Python 2, 16 ไบต์, คะแนน = 15/16 = 0.9375, [รอยแตก] + ลิงก์
print(2*input())
คำนวณA005843 , (offset = 0)
สาขา
พบได้ในทุกหน้า OEIS ตัวอย่างเช่นสำหรับA0058430,2
การชดเชย 0
เราจะต้องใช้คนแรกซึ่งเป็น ซึ่งหมายความว่าฟังก์ชั่นถูกกำหนดไว้สำหรับหมายเลขทั้งหมด≥ 0
ในคำอื่น ๆ ฟังก์ชั่น OEIS (n) เริ่มต้นด้วยn = 0 โปรแกรมของคุณต้องใช้งานได้กับทุกกรณีที่ได้รับจาก OEIS
ข้อมูลเพิ่มเติมสามารถพบได้ที่นี่
เกณฑ์การให้คะแนน
คะแนนที่คุณได้รับจากการส่งมีค่าเท่ากับสูตรต่อไปนี้:
คะแนน = ความยาว (เป็นไบต์) ของรหัสลับ ÷ ความยาว (เป็นไบต์) ของรหัสสาธารณะ
ตัวอย่างข้างต้นมีคะแนน 15 ÷ 16 = 0.9375
การส่งที่มีคะแนนต่ำสุดชนะ เฉพาะการส่งที่โพสต์โซลูชันของพวกเขาเท่านั้นจึงจะมีสิทธิ์ได้รับรางวัล
กฎระเบียบ
- งานที่คุณต้องทำคือลำดับของ OEIS ที่คุณเลือก
- ได้รับnผลผลิตOEIS (n) ไม่อนุญาตให้เบี่ยงเบนดังนั้นคุณต้องสร้างลำดับเดียวกันแน่นอน (เมื่อได้รับ n คุณจะต้องส่งออก OEIS (n))
- การส่งที่ไม่ได้แตกภายในระยะเวลา 7 วันถือว่าปลอดภัยหลังจากโพสต์โซลูชันแล้ว (การส่งที่เก่ากว่า 7 วันที่ไม่ได้โพสต์โซลูชันของพวกเขายังคงเสี่ยงต่อการถูกแคร็ก)
- ในการส่งของคุณคุณต้องโพสต์สิ่งต่อไปนี้: ชื่อภาษา , จำนวนไบต์ , รหัสเต็ม , ดังนั้นจึงไม่มีการเชื่อมโยงของ Pastebin เป็นต้น (เพื่อป้องกันคำตอบเช่น Unary), ลำดับ OEIS , คะแนนที่มีความยาวของทั้งสองโปรแกรมและเพิ่มเติม ถูกนำมาใช้.
- หมายเหตุ: ลำดับเดียวกันไม่สามารถโพสต์สองครั้งในภาษาเดียวกัน (ตัวอย่างเช่นถ้าลำดับ A005843 ได้ทำใน Pyth คุณจะไม่สามารถใช้ Pyth อีกครั้งสำหรับลำดับเดียวกันนั้น)
- อินพุตและเอาต์พุตมีทั้งเป็นทศนิยม (ฐาน 10)
ลีดเดอร์บอร์ด
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><style>table th,table td{padding: 5px;}th{text-align: left;}.score{text-align: right;}table a{display: block;}.main{float: left;margin-right: 30px;}.main h3,.main div{margin: 5px;}.message{font-style: italic;}#api_error{color: red;font-weight: bold;margin: 5px;}</style> <script>QUESTION_ID=88979;var safe_list=[];var uncracked_list=[];var n=0;var bycreation=function(x,y){return (x[0][0]<y[0][0])-(x[0][0]>y[0][0]);};var byscore=function(x,y){return (x[0][1]>y[0][1])-(x[0][1]<y[0][1]);};function u(l,o){jQuery(l[1]).empty();l[0].sort(o);for(var i=0;i<l[0].length;i++) l[0][i][1].appendTo(l[1]);if(l[0].length==0) jQuery('<tr><td colspan="3" class="message">none yet.</td></tr>').appendTo(l[1]);}function m(s){if('error_message' in s) jQuery('#api_error').text('API Error: '+s.error_message);}function g(p){jQuery.getJSON('//api.stackexchange.com/2.2/questions/' + QUESTION_ID + '/answers?page=' + p + '&pagesize=100&order=desc&sort=creation&site=codegolf&filter=!.Fjs-H6J36w0DtV5A_ZMzR7bRqt1e', function(s){m(s);s.items.map(function(a){var he = jQuery('<div/>').html(a.body).children().first();he.find('strike').text('');var h = he.text();if (!/cracked/i.test(h) && (typeof a.comments == 'undefined' || a.comments.filter(function(b){var c = jQuery('<div/>').html(b.body);return /^cracked/i.test(c.text()) || c.find('a').filter(function(){return /cracked/i.test(jQuery(this).text())}).length > 0}).length == 0)){var m = /^\s*((?:[^,;(\s]|\s+[^-,;(\s])+).*(0.\d+)/.exec(h);var e = [[n++, m ? m[2]-0 : null], jQuery('<tr/>').append( jQuery('<td/>').append( jQuery('<a/>').text(m ? m[1] : h).attr('href', a.link)), jQuery('<td class="score"/>').text(m ? m[2] : '?'), jQuery('<td/>').append( jQuery('<a/>').text(a.owner.display_name).attr('href', a.owner.link)) )];if(/safe/i.test(h)) safe_list.push(e);else uncracked_list.push(e);}});if (s.items.length == 100) g(p + 1);else{var s=[[uncracked_list, '#uncracked'], [safe_list, '#safe']];for(var i=0;i<2;i++) u(s[i],byscore);jQuery('#uncracked_by_score').bind('click',function(){u(s[0],byscore);return false});jQuery('#uncracked_by_creation').bind('click',function(){u(s[0],bycreation);return false});}}).error(function(e){m(e.responseJSON);});}g(1);</script><link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/Sites/codegolf/all.css?v=7509797c03ea"><div id="api_error"></div><div class="main"><h3>Uncracked submissions</h3><table> <tr> <th>Language</th> <th class="score">Score</th> <th>User</th> </tr> <tbody id="uncracked"></tbody></table><div>Sort by: <a href="#" id="uncracked_by_score">score</a> <a href="#" id="uncracked_by_creation">creation</a></div></div><div class="main"><h3>Safe submissions</h3><table> <tr> <th>Language</th> <th class="score">Score</th> <th>User</th> </tr> <tbody id="safe"></tbody></table></div>
บันทึก
ความท้าทายนี้เสร็จสิ้นแล้ว ผู้ชนะสุดท้ายคือfeersumกับเขาคำตอบของเมล็ดพันธุ์ ขอแสดงความยินดี! :)
คุณยังคงสามารถส่งตำรวจใหม่ได้ แต่ระวังว่าพวกเขาจะไม่แข่งขันอีกต่อไป