Beni aşar mısın? (Polisler bölümü)


84

Polisler bölümü

Soyguncular bölümü burada bulunabilir .

Sayesinde FryAmTheEggman , Peter Taylor , Nathan Merrill , XNOR , Dennis , Laikoni ve Mego katkılarından dolayı.


Meydan okuma

Göreviniz aynı dilde ve aynı sürümde (örneğin Python 3.5 ≠ Python 3.4, izin verilmez) 2 farklı program ( tam programlar / fonksiyonlar / vb. ) Ve n ( STDIN / function argümanlarını kullanarak) verildiğinde / vb. ), hesaplamak bir (n) bir seçtiğiniz bir OEIS dizisidir. Bu programlardan biri diğerinden daha kısa. Sadece ikisinin daha uzun programını sunmanız gerekir . 7 gün sonra kırılmaması durumunda diğeri kurtarılmalıdır. Gönderiminiz, programın dışına çıkarıldığında kırıldı (1 byte veya daha fazla olsun).

Örneğin, seçtiğiniz görev 2 × n yapmaksa , bu geçerli bir başvuru olabilir (Python 2'de):

Python 2, 16 bayt, puan = 15/16 = 0.9375

print(2*input())

A005843 değerini hesaplar (uzaklık = 0).

Gönderiminiz kırıldıysa, başlığınızdakileri şöyle belirtmeniz gerekir:

Python 2, 16 bayt, puan = 15/16 = 0.9375, [kırık] + bağlantı

print(2*input())

A005843 değerini hesaplar (uzaklık = 0).


dengelemek

Bu, her OEIS sayfasında bulunabilir. Örneğin, A005843 için ofset 0,2. Sadece birincisini kullanmamız gerekiyor 0. Bu, işlevin tüm sayılar ≥ 0 için tanımlandığı anlamına gelir.

Başka bir deyişle, OEIS (n) işlevi n = 0 ile başlar . Programınızın OEIS tarafından verilen tüm durumlar için çalışması gerekir.

Daha fazla bilgi burada bulunabilir .


puanlama

Gönderiminiz için aldığınız puan aşağıdaki formüle eşittir:

Skor = gizli kod (bayt cinsinden) Uzunluk ÷ kamu kod (bayt cinsinden) Uzunluk

Yukarıdaki örnekte skor 15 - 16 = 0.9375'tir.

İle gönderme düşük puanı kazanır. Yalnızca çözümlerini gönderen gönderimler kazanmaya uygun olacaktır.


kurallar

  • Yapmanız gereken görev, seçtiğiniz bir OEIS dizisidir.
  • Verilen n , çıkış OEIS (n) . Sapma olduğu değil tam aynı sekans elde etmek üzere gereken şekilde (n verildiğinde, çıkışa OEIS mi (n)), evcil.
  • 7 gün içinde kırılmayan başvurular , çözümün gönderilmesinden sonra güvenli kabul edilir (7 günden daha eski olan ve çözümlerini yayınlamayan göndermeler kırılgan durumdadır).
  • Başvurunuzda aşağıdakileri göndermeniz gerekir: dil adı , bayt sayısı , tam kod , yani hiçbir pastebin bağlantısı yok. (Unary gibi cevapları önlemek için), OEIS dizisi , her iki programın uzunluğu ile puan ve ek olarak, kullanıldı.
  • Not: Aynı dizisi edemez iki kez yayınlanır aynı dili. (Örneğin, A005843 dizisi Pyth'ta yapıldıysa, aynı dizide Pyth'i tekrar kullanamazsınız.)
  • Giriş ve çıkış hem ondalık basamaktadır (taban 10)

Liderler Sıralaması

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

Not

Bu zorluk bitti. Nihai kazanan feersum onun ile Tohum cevap . Tebrikler! :).

Hala yeni polisler gönderebilirsiniz, ancak artık rekabet etmediklerinin farkında olun.


2
@Andan Bu talihsiz görünüyor. Diyelim ki açık formülü geliştiren akıllıca hileler içeren bir golf yazıyorum. Belli bir formülü yayınlarsam, herkes bir gelişme bulabilir ve kazanabilir. Ya da elimden bahsetmek ve tüm gelişmeleri bir başkasına vermek zorundayım. Çok geç değilse, bunu değiştirmeyi düşünür müsün? Bunu bu sanal alanda düşünmediğim için özür dilerim, yalnızca mücadeleyi ciddiye alırken farkettim.
xnor

4
@ xnor Hmm, bu puanlama mekanizması ile büyük bir soruna neden olur. Daha sonra keyfi bir şekilde büyük bir gönderme ve neredeyse imkansız bir kısa gönderme yapabilir ve mücadeleyi kazanabilirsiniz.
Adnan

3
@Adnan Puan = len (gizli kod) / dak {len (genel kod), len (soyguncular tarafından yayınlanan en kısa kod)} tanımlayarak çözebilirsiniz.
Anders Kaseorg

3
@Adnan İçerik, xnor'ın soyguncuların genel puanınızı geçmesi ancak gizli puanınızla eşleşmemesi durumunda puan sayımını yapma önerisidir. Endişelendiğiniz sorunu önlerken, bu işi yapmanın bir yolunu öneriyorum.
Anders Kaseorg

3
Evet, nihayet başka bir Cooooops ve Rooooobbbbbers mücadele ediyor.
insertusernamehere

Yanıtlar:


36

Tohum , 5861 bayt, skor = 5012/5861 = 0,85

Dizi, ofset 1 ile asallardır ( A000040 ). A (1) = 2, a (2) = 3, a (3) = 5 vb.

106 4339425277766562922902283581834741289660008085947971671079664775075736459902652798498038280771739790213868067702391567527146683746696872737118568202495046682058807677834082334206717794057290386357040004038910321326390033894692316122893125849512049817771469697446796247656883761642659391998672259889315862253584980121050081936190889196979721443972131545258528161479083569474217100401074866410321578452749003295370495810488337344650619973376676577461877392643228932028285261311284691649403036725905675576380944186859525020321196255472295415627414823269713084816196540461818684672201926996228242729726187404845487167114556965625764494860789841409004737497250600337038738035289643512265772877903971230007222865264200102217827010958702813633039465646713707971175729900391272165457566364779628858903697222589748797809421482136725017988969980267265196209027326008642464190920825439635011414535065156799655809935871795742526416544853103823906918352472744460644939241345215614650110978624804796257165525598653433482592675123776747497586586903140407616610040250976121531777891358439091358523224019193934111409521776865798864774150127996987606796522094617839125169013781373842026970010007574244564780540958252950607459585834584855526028427463655493110963000525209314274839412714497954647707284352161251044088451086878301225167181712809612927720502228546704347274977503482518386819117870800284276687560241308964641752876311905619184965236937789822712948719170589044519552259399272657757694404103028213338440810122219269214268424256451648966039627998513353115348057963135398345514276156595104642595820063441019481255889600472121104059631555738973905087895006671206400595057069658845297458058584470727379036742268107372233190371861824194831387484478317333784774872796689435056263039565495723444232483369405079512770383639748492508848098080619713255928884946598796741958520788406091704951276729428229224292748702301286318784744573918534142896761450194446126776354892827260482520089107240497527796383449573487121759294618654056309957794765646022274249211113876873102681817500947681708211056388348991201016699342850495527766741633390367735662514559206616070479934780700857859919517187362382258597709910134111383911258731633002354208155277838257255571878219168563173495861133946240923601273185050088148273459064040178741322137494758164795598458780786653602794809987537740537018415433767449108362051063814315399931951925462073202072886716208053889630274798247936580024665863765351912184189125660586187615847325588786048095120241198943086897428919324650596915625795076460123743259068671341944912206659194476673792489442514470540309819938731582497982088632076086088279435186513066668502875362808653657423813387124496122632219269226944975782747969308509448942429277233562654639293567532567668357917753810024961683829653277391094269518376510962710057956994339018307344554672056556222387849272880157861877494719706801624724491116189525394408237355854147113614645956561900837121715298276123085019204014577395795131906357190097536924932784935203378709529040555114884933996346694363879974847691625806412083107877442577777402405491226347699452398189866905599648314105255526411599513768016126067224570735746339691839657336828937030584950250402550603260483421505256395736457980708347396132620971927806636308105501893575073944959824958733880580825249931469481777083600987966500968473202481877213198175820182125298036242272662171321630056435823478710070315022531849275633515412140708923196338877549535352180465031450246889723670908173572778497329815806296369714467774385173078365517895215622645081749679859298824530173433952201710212962315524645807786760255396609101229899503687886977229729747349967302227815724222900649259120496955396616388023947812556426182596252076072286860171961582235043470190275528327438941205680729222092142315348205283459886659277456757338926863444370956987436702675569004062857510888080701482282900718067707825890168959050535970636214821273965900140346587802750221148933877600652180282267212515086387728695565345543441575183083490091817551421389124038251086513387106526847199935776240422217886407416027185332010280169564289345500368555274327733580514983967396271907637608170801013991375555069570288329399237332712790289521766624379537848996471168926519414464863388365890585061582441222989105844636887033599262856636618609644981203616618819656730174147506366895579518927217154437260067784133452192099436160162797896733220282837763342940047719962882720310397266700665603774047807673735452896542215047419894928360985667680051383584281780118001522220147385455276205847620842066894760474814386271419398361771509559702341442734727141312211989794380570433135781896005067541537095546614638001539678780066976441749790924521292297473522803115912791790379839635473194794843511234906415092857115568242448079933264380632375450234146479596225552359821776361923588178896354011117990551249184457345201223244319766597339520899930287542362386381372955844126876031262062731835081542890548095759704856479235361996156162229417953890962902505112862674541020677153054937034038823204321411753183982406667628845943390275194956321260584953509501973880059966268311741789559039618821364775407403947492157311255310143283125490988585303127442698159113924719563571459841025286208880511134222538431747221840824203312684036627017414295981003169360893015436564680773233890198618904647085929678054127680367983802905553144716598061593632352021737488422700265144189474970515439967472618438343180405852959047054139020095303915498443045344690691354304662161461750826840689185141612937350984288238847592910919431788170821390987459951181698659544772214696392241600642992000900364649438402093845534643663733216626212187314397293309505677932731383013397665193960914949915855970134736764497124186701371371881061763702617034928084811708964018610410971938419410791443362686750151572343348438861493025667676713

Befunge-98 programları bu tercüman ile test edildi .

Çözüm:

62 92671758747582594731336103958852355343308794409787718910287760272065096600068486400261521203099179296478278113800406388237579729434074471528101978922110199511009255327569364221068648720732186414156697930516237153253745234146558781777104311285708042469572129997820696177040412749585193035961972308024909384538547357820271391461203855177879703963391294547499579588457829374981409596253284387318191154655397249791533591896711203680125312645807793061567274893660125978667479654664977040722935418267606762108334976561590548772755653088127344268269983549959628254712562135604114391709222466418283973346968039685907258341712475120187026707300070769277380483828579629391533415119380882514570806683534933872011332303802477012040660361613689139008855327957705058672774790021218679288003003953301651226513713984857174365383390364296326192225244927665294515693697694918935732394438095829822147927645949273829493190176397786165741955566462476231578299385726525505407052332068778469428870102672560545990553686935179657522071350801304923521681690806124866463401094200444841941834667455137491597902735287855498886460945851544063102556545691787612423033525861765804657417395955322217721677429700032333887700477665924915189639029356029794151144702621112140447347270986003871777552705154393697526621456025974679633450745341583481291685834000335168972075093212539251102818038917942913311300883294570091156661153874804268309393591292001433191276766990017144340677002050765359295580546228905861008474333888247511333039470305173620221481374758754343560048199433044290376988914313248904786418615239832295700238599693805552407166251501198275363727855984193340187485162706203747898935844148656997727555488455764358003951396850496841760348138874901474547533715922587211143833052692993182786162665394965914056238514702648647904702501871758140636318131208564891924287008550289224318358936576352473100482724524675417108540029486047223784009872784235439805791496176981701859374772960623187174667015174831665360382067784289660747175586412802848517818731070091826086320292632019033525579172665790335268736167170506003176022610987557889205903933680970434653929602313812168432779881423599218075810156457004870273456214668951969634696002866863369645150677406566613367576078149751561615160777945725724620047443832859087000460506626402089973036918592151204779260519899343451226942874643654023265001514280212345984966126290887141500898797940093805650642580450926977375576911590855135774911449619005627413806680159169643085790457809525639117624947749945044091079624534522626841372604654172723500062361904864176709974716350878399949908529715899937417421315012456868864220900338162700464737416505300734198857624165994112815507157337074226022552948626042899845891195024145834980781844015548398775284084741665926642729256313545870065439195137107807599897817556866239630270351410298105991743248934632486671734759038305157913444368204353943206369388913837519310828223093441519335111533635957953613758894822654736600526811789875376813119426924959017038654104216784121093688306563643326587639486472221258233221666454164763738631579246841130247019172136121041002571694545781948282785399495873501148416357057693713305042834246973535325571882393889489457235864027134943913383832461393499203435931881991959787045205816313165984531168137210464591653390767999403651750434079431253272021002273680565508340556736474927770564408343360602057949991306130979603289667991356237787412616305022971197507815004141825394838946364485315703051195195566893733123391158803413838803831010122718476800229685100410524315094662633390222854924884579083098055980542607258318868514903610787510921796157291630993618714015755412239872758443166948699744841899868754369627081727143351807615097715679652005998467491609044596871312950634152039807480021814406950780706131231897491212637759991818212542181136384052857191779658528790835620632765143337026858373660057972387266312097135260115742458792764792668883627539340807572869610941154184473111399152964165437112713815173281951728792354570851956468302291939952274005357250989986640723863408051924618400882866539701190471828299028566020683682444415198672952980294639217217840535225987439355834087974716313911977302809235338769491339553247328065401203243450045946392960085318343121705830317674151229536850726617093615850507955559652374337057819549481320081981520577039493601331233500403284295119207704095876958023271178964331413629547646937335760969491450824461526563643617594783473684358594189269252499897162333533284912320654686655888508024970105099967896167541978181602786701854274646885561632089896312016789257459673121974866871919820865433343707787147414982407950775979279255414469970743690769124215210050618943726165676550098723299244096267839544684847323547847832349290874282817429866612456451105673214159820212156069771415582214200701894487126822756864305461967035982308878073752362075553218935807632264803200753661147341613284071218919438723527468202903770806766095252957940538229987302177328543423522712562396242285027178395886649344

8
Bu, o_____
O'yu

4
Challengeiçin Doğru Dil
DLosc

26

Jöle , 5 bayt , skor 0,8 ( 4/5 ) [ kırıldı! ]

R²Sƽ

A127721'i hesaplar .

Çevrimiçi deneyin!


İşte çözüm:

RÆḊḞ
  • dolaylı olarak girdi almak n
  • R: listeden [1, 2, ..., n]
  • ÆḊ: Bizim durumumuzda, bu aslında karelerin toplamının karekökünü döndürür (ki bu gelecekteki golf oynamak için faydalı olabilir)!
  • : sonucu katlayın.

Dokümantasyon için ÆḊokur:

ÆḊ: Determinant, kare olmayan matrislere genişletilmiş.

Anahtar kare olmayan matrislere genişletildi . Kare olmayan bir matrisin "determinantı" genellikle tanımsızdır, ancak makul bir tanım sqrt(det(A A^T))(bir kare matris için azalır |det(A)|). Bizim durumumuzda, A A^Tkarelerin toplamını içeren 1 x 1 matris. Bunun belirleyicisinin karekökü bize son baytı kesmemiz gerekenleri veriyor!


4
Programlama Bulmacaları ve Code Golf'a Hoş Geldiniz!
Adnan

2
Sadece merak dışında, bu aslında 4 byte'ta mümkün mü? Saatlerdir buna sıkışıp kaldım: s.
Adnan,

1
@Adnan, evet mümkün. Zor bulduğunu duyduğuma sevindim!
George V. Williams


@ jimmy23013, evet, güzel bitti!
George V. Williams,

12

Retina , 28 bayt, skor = 0.9286 ... (26/28), feersum ile çatlak

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

A192687'yi hesaplar (ofset = 0).

Çevrimiçi deneyin! (İlk satır satır besleme ile ayrılmış bir test takımı sağlar.)

Hofstadter'in erkek ve dişi dizileri arasındaki fark budur . ( İlgili PPCG mücadelesi. )

Bu benim orijinal kodumdu:

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

Bu cevap yine de biraz kumardı çünkü asıl çözüm, birkaç ay önce sohbette bilinen en kısa Fibonacci-test regex'i olduğunu açıkladığım bir regex'e dayanıyordu . Neyse ki kimse bunu hatırlamıyor gibiydi. :)



11

Altıgen , 91 bayt, Skor = 0.725274725 (66/91) [Kırık]

A000045'i (Fibonacci dizisi, 0 ofset) hesaplar .

Birisi bunu yenmeyi başarırsa ve daha zorlu versiyonum olsa çok da şaşırmam .

Düzenleme: Kutsal inek, @ Martininder 33 baytlık bir çözümle beni çırptı.

Golf (91):

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

biçimlendirilmiş:

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

Çevrimiçi deneyin!

Bunun için bir açıklama göndermeyeceğim, bu çok korkunç ...

Golf (66):

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

biçimlendirilmiş:

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

Renkli:

Fibonacci Dizisi

Çevrimiçi deneyin!

Açıklama:

Kullandığım bellek düzeni biraz şuna benziyor:

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

Başlatma (siyah) a = 0 ve b = 1 olarak ayarlandı. Sonra, ana döngü:

  • agiriş hücresine gider -'"
  • girişi azaltır - (
  • b ve a ekler - {{=+
  • onu "dışına çıkar" - "+{=*
  • a'yı b'ye ayarlar - '+
  • "yoldan" hareket eder - '+}=*
  • b + a'yı ilk konumuna geri getirir - "=+
  • b'yi b + a'ya ayarlar - "+
  • orijinal konumuna geri hareket ediyor - }+

Giriş hücresi 0'a ulaştığında, MP a'ya gider, yazdırır ve çıkar.

Daha fazla bayt kurtarmak için yapabileceğim şey, mevcut hücreyi sol veya sağ komşusuna ayarlayan & kullanmaktır. Biraz daha iyi bir akış kontrolüne sahip olabilirdim, ama olduğu gibi sorun değil.


Çatlak. Bana bir Fibonacci programı yazmam için teşekkür ederim. Bunu neden daha önce yapmadığımdan emin değilim. :)
Martin Ender

Aslında, kullandığım &şey, girişi a / b / a + b kenarlarının etrafına taşımak, böylece bir sonraki yinelemedeki rollerini değiştirmeleri. Böylece, a, b ve a + b hareketlerini etrafta dolaştırmaya ihtiyacım yok.
Martin Ender

@MartinEnder Üzgünüz, programınızın gerçekte ne yaptığını görmeden önce bu bölümü yazdım. Çözümünüz çok daha akıllıca
Blue

10

M , 10 bayt , skor 0.6 ( 6/10 ) [ kırık ]

R‘ạḤc’*@RP

M ve Jelly’den bu yana biraz aldatma birbirine benziyor ama kurallara uyuyor. Bu sürüm @ LeakyNun'un Jelly cevabımdaki çatlağına dayanmaktadır .

Bu, A068943 dizisini hesaplar . Çevrimiçi deneyin!

Amaçlanan çözüm

Aşağıdaki kod M / Jelly'de çalışır.

R¹¡PÐL

Aslında kaba kuvvet kullanarak kırmayı zorlaştırmak için biraz tüy bıraktığım 4 baytlık bir çözüme sahiptim.

R¡FP

Çevrimiçi deneyin!

Açıklayacağım bu.

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.

Çatlak! Eğlenceliydi!
mil

10

Stack Cats , 14 bayt, skor = 13/14 = 0.929 [ kırık ]

10 baytlık kod, artı bağımsız değişkenler için 4'tür -nm.

A017053'ü hesaplar . OEIS'in kapalı olması durumunda a(n) = 7n + 6, başlamak üzere n = 0.

![_-_:-_-_

Tam kod ( -margüman olmadan kullanılabilir )![_-_:-_-_-_-:_-_]!

Gizli çözüm

!]|{_+:}_



7

Haskell, 15 bayt, puan = 13/15 (0.866) ( kırık )

f x=1+2*div x 2

A109613 , ofset 0 ile. Her bir tek sayıyı iki kez tekrar eder.

1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11, 13, 13, ...


6

Brachylog , 27 bayt, skor = 0.666 ... (18/27), Çatlak!

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

A010551'i hesaplar (ofset = 0).

Şunları yapabilirsiniz çevrimiçi burada deneyin .

açıklama

İnsanların büyük çoğunluğu bu dili bilmediğinden ve bu cevabı en çok insanların içine bakmak için gönderdiğimden beri (Bkz: Brachylog's Wiki ), yukarıdaki kodun kısa bir açıklamasını sunacağım:

+           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 bayt, puan = 0,9623 (51/53) Çatlak

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

A001608 Perrin sırasını hesaplar

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

İlk kod golf denemesi, herhangi bir hataya işaret etmekten çekinmeyin.

Çatlama sonrası açıklama:

mil ilk üç değeri kısalttı (0,1,2) -> (3,0,2)

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

benim kendi çözümüm biraz fazla geliştirildi

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

İki numarayı birleştirerek,

n<3?3-3*n%5

47 bayt için

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

Java için oldukça kompakt görünüyor :)



5

Çedar, 7 bayt, skor = 0.8571 (6/7), [kırık]

n->2**n

Oldukça basit, sadece ikisinin güçleri. OEIS A000079

Çevrimiçi deneyin!


2
Ah, dil yaratıcıları burada bir avantaja sahip ...
Dennis

10
Özellikle, dillerinde çok fazla belgelenmeyen dil yaratıcıları.
Mego


2
@Mego kendini belgeleyen kod belge olarak kabul edilmiyor mu? Kod gözden geçirenler bana yalan söyledi! D: <
Downgoat

1
@Downgoat Web sitenizde "Dokümantasyon" adı verilen bir bağlantıya sahipseniz ve bu tamamen eksik ... Evet.
Mego


4

Python 2, 43 bayt, puan = 0,9302 (40/43), kırık

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

A072493 hesaplar

Bakalım, biri 3 bayttan biriyle golf oynayabilir mi?


Bekle, eğer Truetemsil etmek için kullanılıyorsa, tamam 1mı?
R. Kap


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

@ R.Kap evet, öyle. if xGerçek olan herhangi bir değer ( true) geçerli bir sonuçtur .
Rɪᴋᴇʀ

4

Pyke, 11 bayt, puan = 0.45 (5/11) [kırık]

hZRVoeX*oe+

OEIS A180255'i hesaplar

Burada dene!


1
Buna bir göz atmak istemiştim ama dilin dokümantasyonu çok aydınlatıcı değil. (örneğin, Zkayıt dışı olduğu; dil yığın dayalı olduğunu iddia ancak bundan sonra *kodu geri kalanı üzerinde bir etkisi olan ve buna karşı yığında sadece sıfır vardır; parametrelerinin sırasını açıkça belirtilmemişse)
Score_Under

1
@Score_Under geliştirmek için ne yapabilirim? - Bir sohbet odasında neyin belirsiz olduğu hakkında tartışmaktan çok mutlu
Blue

Elbette. Nasıl sohbete başlayacağımı bilmiyorum ama yukarıdaki
yorumumu






3

Sesos , 14 bayt, puan = 0.8571 (12/14) ( çatlak )

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

A000290'ı hesaplar .

Çevrimiçi deneyin!

İpuçları

Bu ikili dosya aşağıdaki derleyici tarafından üretildi:

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 bayt, skor = 0.8181 (9/11), çatlak

YftdA-1bn^*

Möbius işlevini veya A087811'i (ofset 1) hesaplar .

Çevrimiçi deneyin!

Soyguncular için kaynaklar

Bence bu kolay olmalı, ama yine de burada biraz yardım.

Kod açıklaması:

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

Dil dökümantasyonu .

MATL sohbet odası .



@ feersum Aferin! Başvuru için, 9 bayt versiyonuYftdA_wn^
Luis Mendo


3

MarioLANG , 87 bayt, skor = 0,839 (73/87), kırık

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

Üçgen sayıların A000217 değerini hesaplar . 0 ofset.

Çevrimiçi deneyin!

Kısa çözüm:

Çatlak sadece 1 bayt çıkardığından, çözümümü tamamen farklı bir algoritma kullanan 73 baytta paylaşacağım:

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

Çevrimiçi deneyin!

İlk program kaset boyunca n'den 1'e kadar olan tüm sayıları gösterir, daha sonra 0 değerli bir hücreye gelinceye kadar tüm sayıları toplar. Bunu, her bir hücreyi bitişik iki hücreye kopyalayarak, doğru kopyayı azaltarak ve üzerindeki işlemi 0 olana kadar tekrarlayarak yapar. Bu işlem sırasında, bant şöyle görünür (n = 5 için):

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

... ve bunun gibi. Sonra sola hareket eder, hücreleri 0 olan bir hücreye ulaşıncaya kadar toplar.

İkinci program sadece bandın üç hücresiyle çalışır. İlk hücre 0'a ulaşana kadar, aşağıdakileri yapar:

  • İlk hücrenin değerini ikinci hücreye taşıyın.
  • Birinci ve üçüncü hücrelere kendi değerlerini ekleyerek ikinci hücreyi 0'a düşürün.
  • İlk hücreyi azalt.

İlk hücre 0'a ulaştığında, üçüncü hücre n + (n-1) + (n-2) + ... + 2 + 1 içerecektir.


87 byte versiyonunuz başka bir tercümanda çalışıyor mu? Tio'dakiler! Sonunda yeni bir telefon hattı gerektiriyor ...
Dennis

@Dennis: Ruby çevirmende yeni satır olmadan çalışır. Her ne sebeple olursa olsun, TIO'daki tercüman bir sonuçtan çıktı olmaz :, bu yüzden linke takip eden yeni satırı ekledim. Martin ve ben bunu MarioLANG cevaplarımdan bir başkasında konuştuk.
Business Cat,

Tamam sadece kontrol ediyorum. Tio için sarmalayıcı ekledim! kaynak koduna yeni bir satır ekler.
Dennis,



3

Haskell, 28 bayt, puan = 0.3571 (10/28), kırık

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

A006519 , en yüksek 2 bölme gücünden nbaşlayarak n=1.

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

Herhangi bir kısa kod için kredi kırmaya çalışırken, gerçek bulmacanın 10 bayta indiğini düşünüyorum.



@nimi Tebrikler, anladınız.
xnor






Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.