Bạn có thể vượt qua tôi? (Phần cảnh sát)


84

Phần cảnh sát

Phần cướp có thể được tìm thấy ở đây .

Cảm ơn FryAmTheEggman , Peter Taylor , Nathan Merrill , xnor , Dennis , LaikoniMego vì những đóng góp của họ.


Thử thách

Nhiệm vụ của bạn là viết 2 chương trình khác nhau ( chương trình / hàm đầy đủ / v.v. ) bằng cùng một ngôn ngữ và cùng một phiên bản (ví dụ: Python 3.5 ≠ Python 3.4, do đó không được phép) và khi được cung cấp n (sử dụng đối số STDIN / hàm / v.v. ), tính a (n) trong đó a là một chuỗi OEIS theo lựa chọn của bạn. Một trong những chương trình đó ngắn hơn chương trình kia. Bạn chỉ cần gửi chương trình dài hơn của hai. Một cái khác cần phải được lưu trong trường hợp không bị nứt sau 7 ngày. Nội dung gửi của bạn bị bẻ khóa khi chương trình của bạn bị lỗi thời (cho dù là 1 byte trở lên).

Ví dụ: nếu tác vụ bạn chọn là thực hiện 2 × n , thì đây có thể là một lần gửi hợp lệ (trong Python 2):

Python 2, 16 byte, điểm = 15/16 = 0,9375

print(2*input())

Tính A005843 , (bù = 0).

Nếu bài gửi của bạn đã bị bẻ khóa, thì bạn cần phải nói rằng trong tiêu đề của bạn như vậy:

Python 2, 16 byte, điểm = 15/16 = 0,9375, [bẻ khóa] + liên kết

print(2*input())

Tính A005843 , (bù = 0).


Bù lại

Điều này có thể được tìm thấy trên mỗi trang OEIS. Ví dụ, đối với A005843 , phần bù là 0,2. Chúng ta chỉ cần sử dụng cái đầu tiên, đó là 0. Điều này có nghĩa là hàm được xác định cho tất cả các số ≥ 0.

Nói cách khác, hàm OEIS (n) bắt đầu bằng n = 0 . Chương trình của bạn cần phải hoạt động cho tất cả các trường hợp do OEIS đưa ra.

Thêm thông tin có thể được tìm thấy ở đây .


Chấm điểm

Điểm bạn nhận được cho bài nộp của mình bằng công thức sau:

Điểm = Chiều dài (tính bằng byte) của bí mật mã ÷ Chiều dài (tính bằng byte) của mã công cộng

Ví dụ trên có số điểm 15 16 = 0,9375.

Bài nộp với số điểm thấp nhất sẽ thắng. Chỉ những bài nộp đã đăng giải pháp của họ mới đủ điều kiện để giành chiến thắng.


Quy tắc

  • Nhiệm vụ bạn cần làm là một chuỗi OEIS theo lựa chọn của bạn.
  • Cho n , đầu ra OEIS (n) . Độ lệch không được phép, vì vậy bạn cần tạo ra chính xác cùng một chuỗi (khi được n, bạn cần xuất OEIS (n)).
  • Đệ trình không bị bẻ khóa trong vòng 7 ngày được coi là an toàn sau khi giải pháp đã được đăng (các bài nộp cũ hơn 7 ngày mà không có giải pháp của họ được đăng vẫn dễ bị phá vỡ).
  • Trong bài gửi của bạn, bạn cần đăng các nội dung sau: tên ngôn ngữ , số byte , mã đầy đủ , để không có liên kết pastebin, v.v. (để ngăn các câu trả lời như Unary), trình tự OEIS , điểm số với độ dài của cả hai chương trình và thêm vào đó, mã hóa Được sử dụng.
  • Lưu ý: trình tự tương tự không thể được đăng hai lần trong cùng một ngôn ngữ. (Ví dụ: nếu chuỗi A005843 đã được thực hiện trong Pyth, bạn không thể sử dụng lại Pyth cho cùng chuỗi đó.)
  • Đầu vào và đầu ra đều ở dạng thập phân (cơ sở 10)

Bảng xếp hạng

<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>

Ghi chú

Thử thách này đã kết thúc. Người chiến thắng cuối cùng là feerum với câu trả lời Seed của mình . Xin chúc mừng! :).

Bạn vẫn có thể gửi cảnh sát mới, nhưng lưu ý rằng họ không còn cạnh tranh.


2
@Andan Điều đó có vẻ đáng tiếc. Nói rằng tôi viết một golf với nhiều thủ thuật thông minh cải thiện công thức rõ ràng. Nếu tôi đăng công thức rõ ràng, bất cứ ai cũng có thể tìm thấy một cải tiến và giành chiến thắng. Hoặc, tôi phải đưa tay ra và cho đi tất cả những cải tiến trừ một. Bạn có cân nhắc thay đổi điều này không, nếu chưa quá muộn? Xin lỗi vì đã không nghĩ về điều này trong hộp cát này, tôi chỉ nhận thấy khi thử thách một cách nghiêm túc.
xnor

4
@xnor Hmm, điều đó sẽ gây ra vấn đề lớn với cơ chế tính điểm. Sau đó, bạn có thể thực hiện một bài nộp lớn tùy ý và một bài ngắn gần như không thể, và chiến thắng thử thách.
Ad Nam

3
@Adnan Bạn có thể giải quyết điều đó bằng cách xác định điểm = len (mã bí mật) / min {len (mã công khai), len (mã ngắn nhất được đăng bởi những tên cướp)}.
Anders Kaseorg

3
@Adnan Bối cảnh là gợi ý của xnor để tính điểm nếu bọn cướp đánh bại điểm công khai của bạn nhưng không khớp với điểm số bí mật của bạn. Tôi đang đề xuất một cách để làm cho công việc đó trong khi tránh được vấn đề bạn quan tâm.
Anders Kaseorg

3
Vâng, cuối cùng là một thử thách Cooooops và Rooooobbbbers khác.
insertusernamehere

Câu trả lời:


36

Hạt giống , 5861 byte, điểm = 5012/5861 = 0,85

Chuỗi là các số nguyên tố ( A000040 ) với offset 1. a (1) = 2, a (2) = 3, a (3) = 5, v.v.

106 4339425277766562922902283581834741289660008085947971671079664775075736459902652798498038280771739790213868067702391567527146683746696872737118568202495046682058807677834082334206717794057290386357040004038910321326390033894692316122893125849512049817771469697446796247656883761642659391998672259889315862253584980121050081936190889196979721443972131545258528161479083569474217100401074866410321578452749003295370495810488337344650619973376676577461877392643228932028285261311284691649403036725905675576380944186859525020321196255472295415627414823269713084816196540461818684672201926996228242729726187404845487167114556965625764494860789841409004737497250600337038738035289643512265772877903971230007222865264200102217827010958702813633039465646713707971175729900391272165457566364779628858903697222589748797809421482136725017988969980267265196209027326008642464190920825439635011414535065156799655809935871795742526416544853103823906918352472744460644939241345215614650110978624804796257165525598653433482592675123776747497586586903140407616610040250976121531777891358439091358523224019193934111409521776865798864774150127996987606796522094617839125169013781373842026970010007574244564780540958252950607459585834584855526028427463655493110963000525209314274839412714497954647707284352161251044088451086878301225167181712809612927720502228546704347274977503482518386819117870800284276687560241308964641752876311905619184965236937789822712948719170589044519552259399272657757694404103028213338440810122219269214268424256451648966039627998513353115348057963135398345514276156595104642595820063441019481255889600472121104059631555738973905087895006671206400595057069658845297458058584470727379036742268107372233190371861824194831387484478317333784774872796689435056263039565495723444232483369405079512770383639748492508848098080619713255928884946598796741958520788406091704951276729428229224292748702301286318784744573918534142896761450194446126776354892827260482520089107240497527796383449573487121759294618654056309957794765646022274249211113876873102681817500947681708211056388348991201016699342850495527766741633390367735662514559206616070479934780700857859919517187362382258597709910134111383911258731633002354208155277838257255571878219168563173495861133946240923601273185050088148273459064040178741322137494758164795598458780786653602794809987537740537018415433767449108362051063814315399931951925462073202072886716208053889630274798247936580024665863765351912184189125660586187615847325588786048095120241198943086897428919324650596915625795076460123743259068671341944912206659194476673792489442514470540309819938731582497982088632076086088279435186513066668502875362808653657423813387124496122632219269226944975782747969308509448942429277233562654639293567532567668357917753810024961683829653277391094269518376510962710057956994339018307344554672056556222387849272880157861877494719706801624724491116189525394408237355854147113614645956561900837121715298276123085019204014577395795131906357190097536924932784935203378709529040555114884933996346694363879974847691625806412083107877442577777402405491226347699452398189866905599648314105255526411599513768016126067224570735746339691839657336828937030584950250402550603260483421505256395736457980708347396132620971927806636308105501893575073944959824958733880580825249931469481777083600987966500968473202481877213198175820182125298036242272662171321630056435823478710070315022531849275633515412140708923196338877549535352180465031450246889723670908173572778497329815806296369714467774385173078365517895215622645081749679859298824530173433952201710212962315524645807786760255396609101229899503687886977229729747349967302227815724222900649259120496955396616388023947812556426182596252076072286860171961582235043470190275528327438941205680729222092142315348205283459886659277456757338926863444370956987436702675569004062857510888080701482282900718067707825890168959050535970636214821273965900140346587802750221148933877600652180282267212515086387728695565345543441575183083490091817551421389124038251086513387106526847199935776240422217886407416027185332010280169564289345500368555274327733580514983967396271907637608170801013991375555069570288329399237332712790289521766624379537848996471168926519414464863388365890585061582441222989105844636887033599262856636618609644981203616618819656730174147506366895579518927217154437260067784133452192099436160162797896733220282837763342940047719962882720310397266700665603774047807673735452896542215047419894928360985667680051383584281780118001522220147385455276205847620842066894760474814386271419398361771509559702341442734727141312211989794380570433135781896005067541537095546614638001539678780066976441749790924521292297473522803115912791790379839635473194794843511234906415092857115568242448079933264380632375450234146479596225552359821776361923588178896354011117990551249184457345201223244319766597339520899930287542362386381372955844126876031262062731835081542890548095759704856479235361996156162229417953890962902505112862674541020677153054937034038823204321411753183982406667628845943390275194956321260584953509501973880059966268311741789559039618821364775407403947492157311255310143283125490988585303127442698159113924719563571459841025286208880511134222538431747221840824203312684036627017414295981003169360893015436564680773233890198618904647085929678054127680367983802905553144716598061593632352021737488422700265144189474970515439967472618438343180405852959047054139020095303915498443045344690691354304662161461750826840689185141612937350984288238847592910919431788170821390987459951181698659544772214696392241600642992000900364649438402093845534643663733216626212187314397293309505677932731383013397665193960914949915855970134736764497124186701371371881061763702617034928084811708964018610410971938419410791443362686750151572343348438861493025667676713

Các chương trình Befunge-98 đã được thử nghiệm với trình thông dịch này .

Giải pháp:

62 92671758747582594731336103958852355343308794409787718910287760272065096600068486400261521203099179296478278113800406388237579729434074471528101978922110199511009255327569364221068648720732186414156697930516237153253745234146558781777104311285708042469572129997820696177040412749585193035961972308024909384538547357820271391461203855177879703963391294547499579588457829374981409596253284387318191154655397249791533591896711203680125312645807793061567274893660125978667479654664977040722935418267606762108334976561590548772755653088127344268269983549959628254712562135604114391709222466418283973346968039685907258341712475120187026707300070769277380483828579629391533415119380882514570806683534933872011332303802477012040660361613689139008855327957705058672774790021218679288003003953301651226513713984857174365383390364296326192225244927665294515693697694918935732394438095829822147927645949273829493190176397786165741955566462476231578299385726525505407052332068778469428870102672560545990553686935179657522071350801304923521681690806124866463401094200444841941834667455137491597902735287855498886460945851544063102556545691787612423033525861765804657417395955322217721677429700032333887700477665924915189639029356029794151144702621112140447347270986003871777552705154393697526621456025974679633450745341583481291685834000335168972075093212539251102818038917942913311300883294570091156661153874804268309393591292001433191276766990017144340677002050765359295580546228905861008474333888247511333039470305173620221481374758754343560048199433044290376988914313248904786418615239832295700238599693805552407166251501198275363727855984193340187485162706203747898935844148656997727555488455764358003951396850496841760348138874901474547533715922587211143833052692993182786162665394965914056238514702648647904702501871758140636318131208564891924287008550289224318358936576352473100482724524675417108540029486047223784009872784235439805791496176981701859374772960623187174667015174831665360382067784289660747175586412802848517818731070091826086320292632019033525579172665790335268736167170506003176022610987557889205903933680970434653929602313812168432779881423599218075810156457004870273456214668951969634696002866863369645150677406566613367576078149751561615160777945725724620047443832859087000460506626402089973036918592151204779260519899343451226942874643654023265001514280212345984966126290887141500898797940093805650642580450926977375576911590855135774911449619005627413806680159169643085790457809525639117624947749945044091079624534522626841372604654172723500062361904864176709974716350878399949908529715899937417421315012456868864220900338162700464737416505300734198857624165994112815507157337074226022552948626042899845891195024145834980781844015548398775284084741665926642729256313545870065439195137107807599897817556866239630270351410298105991743248934632486671734759038305157913444368204353943206369388913837519310828223093441519335111533635957953613758894822654736600526811789875376813119426924959017038654104216784121093688306563643326587639486472221258233221666454164763738631579246841130247019172136121041002571694545781948282785399495873501148416357057693713305042834246973535325571882393889489457235864027134943913383832461393499203435931881991959787045205816313165984531168137210464591653390767999403651750434079431253272021002273680565508340556736474927770564408343360602057949991306130979603289667991356237787412616305022971197507815004141825394838946364485315703051195195566893733123391158803413838803831010122718476800229685100410524315094662633390222854924884579083098055980542607258318868514903610787510921796157291630993618714015755412239872758443166948699744841899868754369627081727143351807615097715679652005998467491609044596871312950634152039807480021814406950780706131231897491212637759991818212542181136384052857191779658528790835620632765143337026858373660057972387266312097135260115742458792764792668883627539340807572869610941154184473111399152964165437112713815173281951728792354570851956468302291939952274005357250989986640723863408051924618400882866539701190471828299028566020683682444415198672952980294639217217840535225987439355834087974716313911977302809235338769491339553247328065401203243450045946392960085318343121705830317674151229536850726617093615850507955559652374337057819549481320081981520577039493601331233500403284295119207704095876958023271178964331413629547646937335760969491450824461526563643617594783473684358594189269252499897162333533284912320654686655888508024970105099967896167541978181602786701854274646885561632089896312016789257459673121974866871919820865433343707787147414982407950775979279255414469970743690769124215210050618943726165676550098723299244096267839544684847323547847832349290874282817429866612456451105673214159820212156069771415582214200701894487126822756864305461967035982308878073752362075553218935807632264803200753661147341613284071218919438723527468202903770806766095252957940538229987302177328543423522712562396242285027178395886649344

8
Điều này sẽ mất hàng thế kỷ để crack o_____O
TuxCrafting

4
Ngôn ngữ phù hợp cho Thử thách
DLosc

26

Jelly , 5 byte , điểm 0,8 (4/5) [ đã bị bẻ khóa! ]

R²Sƽ

Tính A127721 .

Hãy thử trực tuyến!


Đây là giải pháp:

RÆḊḞ
  • ngầm nhận đầu vào n
  • R: danh sách từ [1, 2, ..., n]
  • ÆḊ: Trong trường hợp của chúng tôi, điều này thực sự sẽ trả về căn bậc hai của tổng bình phương (có thể hữu ích trong việc chơi golf trong tương lai)!
  • : sàn kết quả.

Các tài liệu hướng dẫn cho ÆḊlần đọc:

ÆḊ: Xác định, mở rộng đến ma trận không vuông.

Khóa được mở rộng cho ma trận không vuông . "Định thức" của ma trận không vuông thường không được xác định, nhưng một định nghĩa hợp lý là sqrt(det(A A^T))(đối với ma trận vuông giảm xuống |det(A)|). Trong trường hợp của chúng tôi, A A^Tlà ma trận 1 x 1 chứa tổng bình phương. Căn bậc hai của định thức cung cấp cho chúng ta chính xác những gì chúng ta cần để loại bỏ byte cuối cùng!


4
Chào mừng bạn đến với Câu đố lập trình và Code Golf!
Ad Nam

2
Vì tò mò, điều này thực sự có thể trong 4 byte? Tôi đã bị mắc kẹt trong điều này trong nhiều giờ: p.
Ad Nam

1
@Ad Nam, vâng, điều đó là có thể. Vui mừng khi biết bạn đang tìm thấy nó đầy thách thức!
George V. Williams


@ jimmy23013, yup, được thực hiện độc đáo!
George V. Williams

12

Võng mạc , 28 byte, điểm = 0,9286 ... (26-28), bị bẻ khóa bởi frageum

.+
$*
^$|^((^|\3)(^.|\1))*.$

Tính A192687 , (bù = 0).

Hãy thử trực tuyến! (Dòng đầu tiên cho phép bộ kiểm tra được phân tách bằng nguồn cấp.)

Đây là sự khác biệt giữa trình tự namnữ của Hofstadter . ( Thách thức PPCG có liên quan. )

Đây là mã ban đầu của tôi:

.+
$*
^((^.|\3)(\1)|){2,}$

Câu trả lời này dù sao cũng chỉ là một canh bạc, bởi vì giải pháp thực tế dựa trên một regex mà tôi đã tuyên bố là regex thử nghiệm Fibonacci ngắn nhất được biết đến trong trò chuyện vài tháng trước. May mắn thay, dường như không ai nhớ điều đó. :)



11

Hexagony , 91 byte, Điểm = 0,725274725 (66/91) [Cracked]

Tính toán A000045 (chuỗi Fibonacci, bù 0).

Tôi sẽ không quá ngạc nhiên nếu ai đó xoay sở để đánh bại phiên bản chơi gôn này của tôi , mặc dù nó rất khó.

Chỉnh sửa: Holy cow, @MartinEnder đã đánh tôi với một giải pháp 33 byte.

Chơi gôn (91):

?\]~<~.{>'"/(@{\''1<{!1>{{1}/}{'\1</={}/_\'0"/>+(}\/}(+'+'%=<>=%"=+("\/+"(+}+<>{{}=~\.....|

Định dạng:

      ? \ ] ~ < ~
     . { > ' " / (
    @ { \ ' ' 1 < {
   ! 1 > { { 1 } / }
  { ' \ 1 < / = { } /
 _ \ ' 0 " / > + ( } \
  / } ( + ' + ' % = <
   > = % " = + ( " \
    / + " ( + } + <
     > { { } = ~ \
      . . . . . |

Hãy thử trực tuyến!

Tôi sẽ không đăng một lời giải thích cho điều này, nó quá kinh khủng ...

Chơi gôn (66):

?{1}]0@._.>\>+{./'++.!.|.*'}..\}{\=++.../'"<_}\"+<./{(/\=*"=/>{=+"

Định dạng:

      ? { 1 } ] 0
     @ . _ . > \ >
    + { . / ' + + .
   ! . | . * ' } . .
  \ } { \ = + + . . .
 / ' " < _ } \ " + < .
  / { ( / \ = * " = /
   > { = + " . . . .
    . . . . . . . .
     . . . . . . .
      . . . . . .

Màu sắc rực rỡ:

Chuỗi Fibonacci

Hãy thử trực tuyến!

Giải trình:

Bố cục bộ nhớ tôi sử dụng trông hơi giống thế này:

   |
   a
   |
  / \
b+a  b
/     \
      |
    input

Việc khởi tạo (màu đen) đặt a = 0 và b = 1. Sau đó, vòng lặp chính:

  • đi từ ađến ô đầu vào -'"
  • giảm đầu vào - (
  • thêm b và a - {{=+
  • di chuyển nó "ra khỏi đường đi" - "+{=*
  • đặt a thành b - '+
  • di chuyển "ra khỏi đường" - '+}=*
  • di chuyển b + trở lại vị trí ban đầu - "=+
  • đặt b thành b + a - "+
  • di chuyển trở lại vị trí ban đầu của nó - }+

Khi ô nhập vào 0, MP di chuyển đến a, in và thoát.

Những gì tôi có thể làm để tiết kiệm nhiều byte hơn là sử dụng &, nó chỉ đặt ô hiện tại thành hàng xóm bên trái hoặc bên phải của nó. Tôi cũng có thể kiểm soát dòng chảy tốt hơn một chút, nhưng nó vẫn ổn.


Nứt. Cảm ơn vì đã cho tôi viết một chương trình Fibonacci. Không chắc tại sao tôi chưa làm điều đó trước đây. :)
Martin Ender

Trên thực tế, những gì tôi đang sử dụng &là để di chuyển đầu vào xung quanh các cạnh a / b / a + b để chúng hoán đổi vai trò của chúng trong lần lặp tiếp theo. Theo cách đó, tôi không cần phải di chuyển a, b và a + b xung quanh.
Martin Ender

@MartinEnder Xin lỗi, tôi đã viết phần đó trước khi xem chương trình của bạn thực sự đã làm gì. Giải pháp của bạn thông minh hơn nhiều
Blue

10

M , 10 byte , điểm 0,6 (6/10) [ đã bẻ khóa ]

R‘ạḤc’*@RP

Một chút gian lận vì M và Jelly khá giống nhau, nhưng được phép theo quy tắc. Phiên bản này dựa trên bản crack của @ LeakyNun cho câu trả lời Jelly của tôi.

Điều này tính toán trình tự A068943 . Hãy thử trực tuyến!

Giải pháp dự định

Đoạn mã sau hoạt động trong M / Jelly.

R¹¡PÐL

Tôi thực sự đã có một giải pháp 4 byte mà tôi đã thêm một số lông tơ để làm cho nó khó bị bẻ khóa hơn bằng cách sử dụng vũ lực.

R¡FP

Hãy thử trực tuyến!

Đây là một trong những gì tôi sẽ giải thích.

R¡FP  Main link. Argument: n

 ¡    Execute the left to the left n times, updating the return value.
R       Range; map each integer k to [1, ..., k].
      This does the following for the first values of n.
        1 → [1]
        2 → [1,2]   → [[1],[1,2]]
        3 → [1,2,3] → [[1],[1,2],[1,2,3]] → [[[1]],[[1],[1,2]],[[1],[1,2],[1,2,3]]]
  F   Flatten the resulting, nested array.
   P  Take the product of the reulting array of integers.

Nứt! Thật là vui
dặm

10

Mèo xếp chồng , 14 byte, điểm = 13/14 = 0,929 [ đã bẻ khóa ]

Đó là 10 byte mã, cộng với 4 cho các đối số -nm.

Tính A017053 . Trong trường hợp OEIS ngừng hoạt động, đó là a(n) = 7n + 6, bắt đầu từ n = 0.

![_-_:-_-_

Mã đầy đủ (có thể sử dụng mà không cần -mđối số) là![_-_:-_-_-_-:_-_]!

Giải pháp ẩn giấu là

!]|{_+:}_




6

Brachylog , 27 byte, điểm = 0,666 ... (18/27), đã bị bẻ khóa !

+ybL:L:[1]co~c[A:B]hl-?,A*.

Tính A010551 (bù = 0).

Bạn có thể thử nó trực tuyến ở đây .

Giải trình

Vì đại đa số mọi người không biết ngôn ngữ này và vì tôi đang đăng câu trả lời này chủ yếu để khiến mọi người nhìn vào nó (Xem: Brachylog's Wiki ), tôi sẽ cung cấp một lời giải thích ngắn về đoạn mã trên:

+           Add 1 to the input N
ybL         L = [1, 2, ..., N+1]
:L:[1]c     Construct a list [1, 2, ..., N+1, 1, 2, ..., N+1, 1]
o           Sort the list from smallest to biggest
~c[A:B]     A concatenated to B results in that sorted list
hl-?,       The length of A is N + 1
A*.         The output is the result of the product of all elements of A



6

Java 7, 53 byte, score = 0,9623 (51/53) Cracked

int f(int n){return n<1?3:n<2?0:n<3?2:f(n-2)+f(n-3);}

Tính toán chuỗi Perrin, A001608

f(0)=3
f(1)=0
f(2)=2
f(n)=f(n-2)+f(n-3)

Đầu tiên chơi golf mã, hãy thoải mái chỉ ra bất kỳ sai lầm.

Giải thích sau khi bẻ khóa:

dặm rút ngắn ba giá trị đầu tiên (0,1,2) -> (3,0,2) để

n<2?3-3*n:n<3?2

trong khi giải pháp của riêng tôi là một thiết kế hơi quá

n<3?(n+4)%5*2%5

Kết hợp hai thủ thuật, bạn có được

n<3?3-3*n%5

cho 47 byte

int k(int n){return n<3?3-3*n%5:f(n-2)+f(n-3);}

Nó trông khá nhỏ gọn cho Java :)



5

Cheddar, 7 byte, điểm = 0,8571 (6/7), [bẻ khóa]

n->2**n

Khá đơn giản, chỉ là sức mạnh của hai. OEIS A000079

Hãy thử trực tuyến!


2
Uh, những người sáng tạo ngôn ngữ đang có lợi thế ở đây ...
Dennis

10
Đặc biệt là những người sáng tạo ngôn ngữ có ngôn ngữ rất thiếu tài liệu.
Mego


2
@Mego là tài liệu tự mã không được coi là tài liệu? Các nhà phê bình mã đã nói dối tôi! D: <
Hạ cấp

1
@Downgoat Khi bạn có một liên kết trên trang web của mình được gọi là "Tài liệu" và nó không đầy đủ ... Vâng.
Mego


4

Python 2, 43 byte, điểm = 0,9302 (40/43), bị bẻ khóa

f=lambda n:n==1or-(-sum(map(f,range(n)))/3)

Tính A072493

Hãy xem liệu có ai có thể chơi hết 3 byte không.


Đợi đã, có thực sự ổn nếu Trueđược sử dụng để đại diện 1?
R. Kap


s=1;exec"a=-(-s/3);s+=a;"*input();print acho 41.
orlp

@ R.Kap vâng, đúng vậy. Bất kỳ giá trị nào là trung thực ( if xlà đúng) là một lợi nhuận hợp lệ.
Rɪᴋᴇʀ

4

Pyke, 11 byte, điểm = 0,45 (5/11) [đã bẻ khóa]

hZRVoeX*oe+

Tính toán OEIS A180255

Hãy thử nó ở đây!


1
Tôi muốn thực hiện điều này nhưng tài liệu về ngôn ngữ không được khai sáng. (ví dụ: Zkhông có giấy tờ; ngôn ngữ tuyên bố là dựa trên ngăn xếp nhưng sau *đó chỉ có các số 0 trên ngăn xếp mặc dù nó có ảnh hưởng đến phần còn lại của mã; thứ tự các tham số không được chỉ định rõ ràng)
Score_Under

1
@Score_Under tôi có thể làm gì để cải thiện nó? - Hoàn toàn vui vẻ thảo luận trong phòng trò chuyện về những điều không rõ ràng
Blue

Chắc chắn rồi. Tôi không biết làm thế nào để bắt đầu một cuộc trò chuyện nhưng tôi đã chỉnh sửa nhận xét trên của mình bằng một số ví dụ - Tôi nghĩ rằng tôi có thể có được nó trước khi bạn đọc nó;)
Score_Under






3

Sesos , 14 byte, điểm = 0,8571 (12/14) ( bị bẻ khóa )

0000000: 16f8be 760e1e 7c5f3b 07ddc7 ce3f                  ...v..|_;....?

Tính toán A000290 .

Hãy thử trực tuyến!

Gợi ý

Tệp nhị phân này đã được tạo bởi trình biên dịch chương trình sau:

set numin
set numout
get
jmp,sub 1,fwd 1,add 1,fwd 1,add 1,rwd 2,jnz
fwd 1
jmp
  sub 1,fwd 1
  jmp,sub 1,fwd 1,add 1,fwd 1,add 1,rwd 2,jnz
  fwd 1
  jmp,sub 1,rwd 1,add 1,fwd 1,jnz
  rwd 2
jnz
fwd 3
put


3

MATL , 11 byte, điểm = 0,8181 (9/11), bị bẻ khóa

YftdA-1bn^*

Tính hàm Möbius hoặc A087811 (bù 1).

Hãy thử trực tuyến!

Tài nguyên cho bọn cướp

Tôi nghĩ rằng điều này nên dễ dàng, nhưng dù sao đây là một số trợ giúp.

Mã giải thích:

Yf     % Implicit input. Push array of prime factors, with repetitions
t      % Duplicate
d      % Compute consecutive differences
A      % 1 if all those differences are nonzero, 0 otherwise
-1     % Push -1
b      % Bubble up array of prime factors to the top of the stack
n      % Number of elements
^      % -1 raised to that
*      % Multiply. Implicitly display

Tài liệu ngôn ngữ .

Phòng chat MATL .



@feersum Tốt lắm! Để tham khảo, phiên bản 9 byte làYftdA_wn^
Luis Mendo


3

MarioLANG , 87 byte, điểm = 0.839 (73/87), đã bị bẻ khóa

;
)-)+(< >>
-)===" ""====
>>+([!)( >-(+(
"====#[(("== [
!-) - <!!![)<<)
#======###====:

Tính A000217 , các số tam giác. Bù đắp 0.

Hãy thử trực tuyến!

Giải pháp ngắn gọn:

Vì việc bẻ khóa chỉ mất 1 byte, tôi sẽ chia sẻ giải pháp của mình thành 73 byte, sử dụng thuật toán hoàn toàn khác:

;   +)-<
-   (=="
+)-<(
(=="+
> [!>)[!(
"==#===#[
!    -  <))
#=========:

Hãy thử trực tuyến!

Chương trình đầu tiên đưa ra tất cả các số từ n đến 1 dọc theo băng, sau đó cộng tất cả các số cho đến khi nó đi qua một ô có giá trị 0. Nó thực hiện điều này bằng cách sao chép từng ô vào hai ô liền kề, giảm bản sao đúng và lặp lại quy trình trên đó cho đến khi đạt 0. Trong quá trình này, băng trông như thế này (với n = 5):

0 0 5 0 0 0 0
0 5 0 5 0 0 0
0 5 0 4 0 0 0
0 5 4 0 4 0 0
0 5 4 0 3 0 0
0 5 4 3 0 3 0
0 5 4 3 0 2 0
0 5 4 3 2 0 2

... và cứ thế. Sau đó, nó di chuyển sang trái, tổng hợp các ô cho đến khi đến một ô có 0.

Chương trình thứ hai chỉ hoạt động với ba ô của băng. Cho đến khi ô đầu tiên đạt 0, nó sẽ thực hiện như sau:

  • Di chuyển giá trị của ô thứ nhất sang ô thứ hai.
  • Giảm ô thứ hai thành 0, thêm giá trị riêng của nó vào ô thứ nhất và thứ ba.
  • Giảm tế bào đầu tiên.

Sau khi ô thứ nhất đạt 0, ô thứ ba sẽ chứa n + (n-1) + (n-2) + ... + 2 + 1.


Phiên bản 87 byte của bạn có hoạt động trong trình thông dịch khác không? Người trên Tio! dường như cần một dòng mới ...
Dennis

@Dennis: Nó hoạt động trên trình thông dịch Ruby mà không cần dòng mới. Vì bất kỳ lý do gì, trình thông dịch trên TIO sẽ không xuất ra :nếu nó ở dòng dưới cùng, đó là lý do tại sao tôi đưa dòng mới vào trong liên kết. Martin và tôi đã thảo luận điều này trong một câu trả lời khác của MarioLANG.
Mèo kinh doanh

OK chỉ cần kiểm tra. Tôi đã thêm trình bao bọc cho Tio! nối thêm một dòng mới vào mã nguồn.
Dennis



3

Haskell, 28 byte, điểm = 0,3571 (10-28), bị bẻ khóa

f n|odd n=1|1>0=2*f(div n 2)

A006519 , công suất cao nhất của 2 lần chia n, bắt đầu từ n=1.

1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1, 16, 1, ...

Trong khi bạn nhận được tín dụng bẻ khóa cho bất kỳ mã ngắn hơn, tôi coi câu đố thực sự là giảm xuống còn 10 byte.



@nimi Xin chúc mừng, bạn đã nhận nó.
xnor






Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.