Você pode me superar? (Seção Policiais)

84

Seção Policiais

A seção de ladrões pode ser encontrada aqui .

Agradecemos a FryAmTheEggman , Peter Taylor , Nathan Merrill , xnor , Dennis , Laikoni e Mego por suas contribuições.


Desafio

Sua tarefa é escrever 2 programas diferentes ( programas / funções completos / etc. ) Na mesma linguagem e na mesma versão (por exemplo, Python 3.5 ≠ Python 3.4, para que isso não seja permitido) e quando fornecido n (usando argumentos STDIN / function / etc. ), calcule a (n) onde a é uma sequência OEIS de sua escolha. Um desses programas é mais curto que o outro. Você só precisa enviar o programa mais longo dos dois. O outro precisa ser salvo caso não seja quebrado após 7 dias. Seu envio é quebrado quando seu programa é ultrapassado (seja por 1 byte ou mais).

Por exemplo, se a tarefa que você escolheu foi executar 2 × n , este poderia ser um envio válido (no Python 2):

Python 2, 16 bytes, pontuação = 15/16 = 0,9375

print(2*input())

Calcula A005843 , (deslocamento = 0).

Se o seu envio foi quebrado, você precisa declarar isso no cabeçalho da seguinte forma:

Python 2, 16 bytes, pontuação = 15/16 = 0,9375, [rachado] + link

print(2*input())

Calcula A005843 , (deslocamento = 0).


Deslocamento

Isso pode ser encontrado em todas as páginas OEIS. Por exemplo, para A005843 , o deslocamento é 0,2. Nós só precisamos usar o primeiro, que é 0. Isso significa que a função está definida para todos os números ≥ 0.

Em outras palavras, a função OEIS (n) começa com n = 0 . Seu programa precisa funcionar para todos os casos fornecidos pelo OEIS.

Mais informações podem ser encontradas aqui .


Pontuação

A pontuação que você obtém para o envio é igual à seguinte fórmula:

Pontuação = Comprimento (em bytes) do código secreto ÷ Comprimento (em bytes) do código público

O exemplo acima tem a pontuação 15 ÷ 16 = 0,9375.

A finalização com a menor pontuação vence. Somente envios que postaram sua solução serão elegíveis para ganhar.


Regras

  • A tarefa que você precisa fazer é uma sequência OEIS de sua escolha.
  • Dado n , output OEIS (n) . O desvio não é permitido, portanto, é necessário produzir exatamente a mesma sequência (quando fornecido n, é necessário gerar OEIS (n)).
  • Os envios que não forem quebrados dentro de um período de 7 dias serão considerados seguros após a publicação da solução (envios com mais de 7 dias que não tiveram sua solução publicada ainda serão vulneráveis ​​a serem quebrados).
  • Em seu envio, você precisa postar o seguinte: nome do idioma , contagem de bytes , código completo , para que não haja links de pastas etc. (para evitar respostas como Unary), sequência OEIS , pontuação com os comprimentos de ambos os programas e, adicionalmente, a codificação que é usado.
  • Nota: a mesma sequência não pode ser postada duas vezes no mesmo idioma. (Por exemplo, se a sequência A005843 tiver sido executada em Pyth, não será possível usá-lo novamente para a mesma sequência.)
  • Entrada e saída estão em decimal (base 10)

Entre os melhores

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

Nota

Este desafio está terminado. O vencedor final é feersum com sua resposta Seed . Parabéns! :).

Você ainda pode enviar novos policiais, mas lembre-se de que eles não estão mais competindo.

Adnan
fonte
2
@ Andan Isso parece lamentável. Digamos que eu escreva um golfe com vários truques inteligentes que melhoram a fórmula óbvia. Se eu postar a fórmula óbvia, qualquer um poderá encontrar uma melhoria e vencer. Ou, tenho que dar uma gorjeta na minha mão e abrir mão de todas as melhorias, exceto uma. Você consideraria mudar isso, se não for tarde demais? Desculpe por não pensar nisso nesta caixa de areia, só notei ao tentar o desafio a sério.
Xnor
4
@ xnor Hmm, isso causaria um grande problema com o mecanismo de pontuação. Você pode então fazer uma submissão arbitrariamente grande e uma curta quase impossível e vencer o desafio.
Adnan
3
@ Adnan Você pode resolver isso definindo score = len (código secreto) / min {len (código público), len (código mais curto publicado por ladrões)}.
Anders Kaseorg 6/16
3
@Adnan O contexto é a sugestão do xnor de fazer a pontuação valer se os ladrões baterem sua pontuação pública, mas não corresponderem à sua pontuação secreta. Estou propondo uma maneira de fazer isso funcionar, evitando o problema com o qual você está preocupado.
Anders Kaseorg 6/16
3
Sim, finalmente, outro desafio de Cooooops e Rooooobbbbbers.
usar o seguinte comando

Respostas:

36

Semente , 5861 bytes, pontuação = 5012/5861 = 0,85

A sequência é primos ( A000040 ) com deslocamento 1. a (1) = 2, a (2) = 3, a (3) = 5 etc.

106 4339425277766562922902283581834741289660008085947971671079664775075736459902652798498038280771739790213868067702391567527146683746696872737118568202495046682058807677834082334206717794057290386357040004038910321326390033894692316122893125849512049817771469697446796247656883761642659391998672259889315862253584980121050081936190889196979721443972131545258528161479083569474217100401074866410321578452749003295370495810488337344650619973376676577461877392643228932028285261311284691649403036725905675576380944186859525020321196255472295415627414823269713084816196540461818684672201926996228242729726187404845487167114556965625764494860789841409004737497250600337038738035289643512265772877903971230007222865264200102217827010958702813633039465646713707971175729900391272165457566364779628858903697222589748797809421482136725017988969980267265196209027326008642464190920825439635011414535065156799655809935871795742526416544853103823906918352472744460644939241345215614650110978624804796257165525598653433482592675123776747497586586903140407616610040250976121531777891358439091358523224019193934111409521776865798864774150127996987606796522094617839125169013781373842026970010007574244564780540958252950607459585834584855526028427463655493110963000525209314274839412714497954647707284352161251044088451086878301225167181712809612927720502228546704347274977503482518386819117870800284276687560241308964641752876311905619184965236937789822712948719170589044519552259399272657757694404103028213338440810122219269214268424256451648966039627998513353115348057963135398345514276156595104642595820063441019481255889600472121104059631555738973905087895006671206400595057069658845297458058584470727379036742268107372233190371861824194831387484478317333784774872796689435056263039565495723444232483369405079512770383639748492508848098080619713255928884946598796741958520788406091704951276729428229224292748702301286318784744573918534142896761450194446126776354892827260482520089107240497527796383449573487121759294618654056309957794765646022274249211113876873102681817500947681708211056388348991201016699342850495527766741633390367735662514559206616070479934780700857859919517187362382258597709910134111383911258731633002354208155277838257255571878219168563173495861133946240923601273185050088148273459064040178741322137494758164795598458780786653602794809987537740537018415433767449108362051063814315399931951925462073202072886716208053889630274798247936580024665863765351912184189125660586187615847325588786048095120241198943086897428919324650596915625795076460123743259068671341944912206659194476673792489442514470540309819938731582497982088632076086088279435186513066668502875362808653657423813387124496122632219269226944975782747969308509448942429277233562654639293567532567668357917753810024961683829653277391094269518376510962710057956994339018307344554672056556222387849272880157861877494719706801624724491116189525394408237355854147113614645956561900837121715298276123085019204014577395795131906357190097536924932784935203378709529040555114884933996346694363879974847691625806412083107877442577777402405491226347699452398189866905599648314105255526411599513768016126067224570735746339691839657336828937030584950250402550603260483421505256395736457980708347396132620971927806636308105501893575073944959824958733880580825249931469481777083600987966500968473202481877213198175820182125298036242272662171321630056435823478710070315022531849275633515412140708923196338877549535352180465031450246889723670908173572778497329815806296369714467774385173078365517895215622645081749679859298824530173433952201710212962315524645807786760255396609101229899503687886977229729747349967302227815724222900649259120496955396616388023947812556426182596252076072286860171961582235043470190275528327438941205680729222092142315348205283459886659277456757338926863444370956987436702675569004062857510888080701482282900718067707825890168959050535970636214821273965900140346587802750221148933877600652180282267212515086387728695565345543441575183083490091817551421389124038251086513387106526847199935776240422217886407416027185332010280169564289345500368555274327733580514983967396271907637608170801013991375555069570288329399237332712790289521766624379537848996471168926519414464863388365890585061582441222989105844636887033599262856636618609644981203616618819656730174147506366895579518927217154437260067784133452192099436160162797896733220282837763342940047719962882720310397266700665603774047807673735452896542215047419894928360985667680051383584281780118001522220147385455276205847620842066894760474814386271419398361771509559702341442734727141312211989794380570433135781896005067541537095546614638001539678780066976441749790924521292297473522803115912791790379839635473194794843511234906415092857115568242448079933264380632375450234146479596225552359821776361923588178896354011117990551249184457345201223244319766597339520899930287542362386381372955844126876031262062731835081542890548095759704856479235361996156162229417953890962902505112862674541020677153054937034038823204321411753183982406667628845943390275194956321260584953509501973880059966268311741789559039618821364775407403947492157311255310143283125490988585303127442698159113924719563571459841025286208880511134222538431747221840824203312684036627017414295981003169360893015436564680773233890198618904647085929678054127680367983802905553144716598061593632352021737488422700265144189474970515439967472618438343180405852959047054139020095303915498443045344690691354304662161461750826840689185141612937350984288238847592910919431788170821390987459951181698659544772214696392241600642992000900364649438402093845534643663733216626212187314397293309505677932731383013397665193960914949915855970134736764497124186701371371881061763702617034928084811708964018610410971938419410791443362686750151572343348438861493025667676713

Os programas Befunge-98 foram testados com este intérprete .

Solução:

62 92671758747582594731336103958852355343308794409787718910287760272065096600068486400261521203099179296478278113800406388237579729434074471528101978922110199511009255327569364221068648720732186414156697930516237153253745234146558781777104311285708042469572129997820696177040412749585193035961972308024909384538547357820271391461203855177879703963391294547499579588457829374981409596253284387318191154655397249791533591896711203680125312645807793061567274893660125978667479654664977040722935418267606762108334976561590548772755653088127344268269983549959628254712562135604114391709222466418283973346968039685907258341712475120187026707300070769277380483828579629391533415119380882514570806683534933872011332303802477012040660361613689139008855327957705058672774790021218679288003003953301651226513713984857174365383390364296326192225244927665294515693697694918935732394438095829822147927645949273829493190176397786165741955566462476231578299385726525505407052332068778469428870102672560545990553686935179657522071350801304923521681690806124866463401094200444841941834667455137491597902735287855498886460945851544063102556545691787612423033525861765804657417395955322217721677429700032333887700477665924915189639029356029794151144702621112140447347270986003871777552705154393697526621456025974679633450745341583481291685834000335168972075093212539251102818038917942913311300883294570091156661153874804268309393591292001433191276766990017144340677002050765359295580546228905861008474333888247511333039470305173620221481374758754343560048199433044290376988914313248904786418615239832295700238599693805552407166251501198275363727855984193340187485162706203747898935844148656997727555488455764358003951396850496841760348138874901474547533715922587211143833052692993182786162665394965914056238514702648647904702501871758140636318131208564891924287008550289224318358936576352473100482724524675417108540029486047223784009872784235439805791496176981701859374772960623187174667015174831665360382067784289660747175586412802848517818731070091826086320292632019033525579172665790335268736167170506003176022610987557889205903933680970434653929602313812168432779881423599218075810156457004870273456214668951969634696002866863369645150677406566613367576078149751561615160777945725724620047443832859087000460506626402089973036918592151204779260519899343451226942874643654023265001514280212345984966126290887141500898797940093805650642580450926977375576911590855135774911449619005627413806680159169643085790457809525639117624947749945044091079624534522626841372604654172723500062361904864176709974716350878399949908529715899937417421315012456868864220900338162700464737416505300734198857624165994112815507157337074226022552948626042899845891195024145834980781844015548398775284084741665926642729256313545870065439195137107807599897817556866239630270351410298105991743248934632486671734759038305157913444368204353943206369388913837519310828223093441519335111533635957953613758894822654736600526811789875376813119426924959017038654104216784121093688306563643326587639486472221258233221666454164763738631579246841130247019172136121041002571694545781948282785399495873501148416357057693713305042834246973535325571882393889489457235864027134943913383832461393499203435931881991959787045205816313165984531168137210464591653390767999403651750434079431253272021002273680565508340556736474927770564408343360602057949991306130979603289667991356237787412616305022971197507815004141825394838946364485315703051195195566893733123391158803413838803831010122718476800229685100410524315094662633390222854924884579083098055980542607258318868514903610787510921796157291630993618714015755412239872758443166948699744841899868754369627081727143351807615097715679652005998467491609044596871312950634152039807480021814406950780706131231897491212637759991818212542181136384052857191779658528790835620632765143337026858373660057972387266312097135260115742458792764792668883627539340807572869610941154184473111399152964165437112713815173281951728792354570851956468302291939952274005357250989986640723863408051924618400882866539701190471828299028566020683682444415198672952980294639217217840535225987439355834087974716313911977302809235338769491339553247328065401203243450045946392960085318343121705830317674151229536850726617093615850507955559652374337057819549481320081981520577039493601331233500403284295119207704095876958023271178964331413629547646937335760969491450824461526563643617594783473684358594189269252499897162333533284912320654686655888508024970105099967896167541978181602786701854274646885561632089896312016789257459673121974866871919820865433343707787147414982407950775979279255414469970743690769124215210050618943726165676550098723299244096267839544684847323547847832349290874282817429866612456451105673214159820212156069771415582214200701894487126822756864305461967035982308878073752362075553218935807632264803200753661147341613284071218919438723527468202903770806766095252957940538229987302177328543423522712562396242285027178395886649344
feersum
fonte
8
Isso levaria séculos para quebrar o_____O
TuxCrafting 4/11/16
4
O idioma certo para o desafio
DLosc
26

Geléia , 5 bytes , pontuação 0,8 (4/5) [ rachado! ]

R²Sƽ

Calcula A127721 .

Experimente online!


Aqui está a solução:

RÆḊḞ
  • implicitamente ter entrada n
  • R: lista de [1, 2, ..., n]
  • ÆḊ: No nosso caso, isso retornará a raiz quadrada da soma dos quadrados (o que pode ser útil no futuro no golfe)!
  • : andar o resultado.

A documentação para ÆḊleituras:

ÆḊ: Determinante, estendido para matrizes não quadradas.

A chave é estendida para matrizes não quadradas . O "determinante" de uma matriz não quadrada é geralmente indefinido, mas uma definição razoável é sqrt(det(A A^T))(que para uma matriz quadrada se reduz a |det(A)|). No nosso caso, A A^Té uma matriz 1 x 1 contendo a soma dos quadrados. A raiz quadrada do determinante disso nos dá exatamente o que precisamos para remover o último byte!

George V. Williams
fonte
4
Bem-vindo à Programação de Puzzles e Code Golf!
Adnan
2
Por curiosidade, isso é realmente possível em 4 bytes? Estou preso há horas: p.
Adnan
11
@ Adnan, sim, é possível. Fico feliz em saber que você está achando um desafio!
George V. Williams
Rachado.
precisa saber é o seguinte
@ jimmy23013, sim, muito bem feito!
George V. Williams
12

Retina , 28 bytes, pontuação = 0,9286 ... (26/28), quebrada por feersum

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

Calcula A192687 , (deslocamento = 0).

Experimente online! (A primeira linha ativa um conjunto de testes separado por avanço de linha.)

Essa é a diferença entre as seqüências masculina e feminina de Hofstadter . ( Desafio relevante do PPCG. )

Este foi o meu código original:

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

De qualquer forma, essa resposta foi um pouco arriscada, porque a solução real é baseada em uma regex que anunciei como a regex de teste de Fibonacci mais curta conhecida no bate-papo há alguns meses. Felizmente, ninguém parecia se lembrar disso. :)

Martin Ender
fonte
Cracked
feersum 7/08/16
11

Hexagonia , 91 bytes, Pontuação = 0,725274725 (66/91) [Rachado]

Calcula A000045 (sequência de Fibonacci, deslocamento 0).

Não ficarei muito surpreso se alguém conseguir vencer essa e minha versão mais golfe , embora deva ser difícil.

Edit: Santo vaca, @MartinEnder me chicoteado com uma solução de 33 bytes.

Golfe (91):

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

Formatado:

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

Experimente online!

Não vou postar uma explicação para isso, é horrível demais ...

Golfe (66):

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

Formatado:

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

Colori:

Sequência de Fibonacci

Experimente online!

Explicação:

O layout da memória que usei se parece um pouco com isso:

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

A inicialização (em preto) define a = 0 eb = 1. Então, o loop principal:

  • vai da acélula de entrada -'"
  • diminui a entrada - (
  • adiciona be - {{=+
  • move "fora do caminho" - "+{=*
  • define a para b - '+
  • move um "fora do caminho" - '+}=*
  • move b + a de volta à sua posição original - "=+
  • define b para b + a - "+
  • move uma volta para sua posição original - }+

Quando a célula de entrada atinge 0, o MP se move para a, imprime e sai.

O que eu poderia ter feito para salvar mais bytes é usar &, que apenas define a célula atual como seu vizinho esquerdo ou direito. Eu também poderia ter um controle de fluxo um pouco melhor, mas tudo bem como está.

Azul
fonte
Rachado. Obrigado por me fazer escrever um programa de Fibonacci. Não sei por que não fiz isso antes. :)
Martin Ender
Na verdade, o que estou usando &é mover a entrada pelas bordas a / b / a + b para que eles troquem suas funções na próxima iteração. Dessa maneira, não preciso mover a, b e a + b.
Martin Ender
@ MartinEnder Desculpe, eu escrevi essa parte antes de analisar o que seu programa realmente fez. Sua solução é muito mais inteligente
azul
10

M , 10 bytes , pontuação 0,6 (6/10) [ rachado ]

R‘ạḤc’*@RP

Um pouco barato, já que M e Jelly são bastante semelhantes, mas permitidas pelas regras. Esta versão é baseada no crack do @ LeakyNun na minha resposta da Jelly.

Calcula a sequência A068943 . Experimente online!

Solução pretendida

O código a seguir funciona em M / Jelly.

R¹¡PÐL

Na verdade, eu tinha uma solução de 4 bytes à qual adicionei alguns cotões para tornar mais difícil de quebrar usando força bruta.

R¡FP

Experimente online!

Este é o que eu vou explicar.

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.
Dennis
fonte
Rachado! Foi divertido!
milhas
10

Empilhe gatos , 14 bytes, pontuação = 13/14 = 0,929 [ rachado ]

São 10 bytes de código, mais 4 para os argumentos -nm.

Calcula A017053 . Caso o OEIS esteja inoperante, é isso que a(n) = 7n + 6começa a partir de n = 0.

![_-_:-_-_

O código completo (utilizável sem -margumento) é![_-_:-_-_-_-:_-_]!

A solução oculta foi

!]|{_+:}_
feersum
fonte
Rachado
SP3000
7

Boneco de neve , 50 bytes, pontuação = 0,9 (45/50) [ rachado por Lynn ]

((}#NDe`nOnO|`2nMNdE0nR2aGaZ::nM;aF;aM:nS;aF,nM*))

Essa é uma sub-rotina que recebe um número como argumento e retorna outro número.

Calcula A122649 (deslocamento = 1).

Experimente online!

Maçaneta da porta
fonte
Qual é a convenção de chamada para as chamadas "sub-rotinas"?
feersum
Rachado!
Lynn
7

Haskell, 15 bytes, pontuação = 13/15 (0,866) ( quebrado )

f x=1+2*div x 2

A109613 com deslocamento 0. Repete cada número ímpar duas vezes.

1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11, 13, 13, ...
xnor
fonte
Cracked
feersum 07/09/16
6

Brachylog , 27 bytes, pontuação = 0,666 ... (18/27), Rachado!

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

Calcula A010551 (deslocamento = 0).

Você pode experimentá-lo online aqui .

Explicação

Como a grande maioria das pessoas não conhece esse idioma, e como estou postando essa resposta principalmente para atrair as pessoas (consulte: Wiki de Brachylog ), fornecerei uma breve explicação do código acima:

+           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
Fatalizar
fonte
Rachado!
Freira
6

Haskell, 4 bytes / 5 bytes ( quebrado por Leaky Nun )

Vamos começar simples. A000012 , a sequência de todos os 1s (deslocamento 0). Aqui está uma tabela:

0 -> 1
1 -> 1
2 -> 1
3 -> 1
4 -> 1
 ...

5 bytes:

f n=1
xnor
fonte
Rachado!
Leaky Nun
6

Java 7, 53 bytes, pontuação = 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);}

Calcula a sequência Perrin, A001608

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

Primeira tentativa de golfe com código, sinta-se à vontade para apontar erros.

Explicação após rachaduras:

milhas reduziu os três primeiros valores (0,1,2) -> (3,0,2) para

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

enquanto minha própria solução era um pouco

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

Combinando os dois truques, você obtém

n<3?3-3*n%5

para um byte de 47 bytes

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

que parece bastante compacto para Java :)

JollyJoker
fonte
Rachado !
miles
5

Cheddar, 7 bytes, pontuação = 0,8571 (6/7), [rachado]

n->2**n

Muito simples, apenas os poderes de dois. OEIS A000079

Experimente online!

Downgoat
fonte
2
Uh, criadores de linguagem estão em vantagem aqui ...
Dennis
10
Especialmente criadores de idiomas cujos idiomas faltam na documentação.
Mego
Rachou (?)
feersum
2
@Mego código de auto-documentação não é considerado documento? Os revisores de código mentiram para mim! D: <
Downgoat 7/08/16
11
@Downgoat Quando você tem um link no seu site chamado "Documentação" e é lamentavelmente incompleto ... Sim.
Mego
4

J, 17 bytes, pontuação = 0,8235 (14/17) ( rachado )

(+/@(!+:)&i.-)@>:

Calcula A002478 .

O engraçado é que essa versão era originalmente a mais curta a ser mantida em segredo.

milhas
fonte
11
Rachado!
Aleatório #
4

Python 2, 43 bytes, pontuação = 0,9302 (40/43), quebrado

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

Computa A072493

Vamos ver se alguém pode jogar fora todos os 3 bytes.

xsot
fonte
Espere, está tudo bem se Truefor usado para representar 1?
R. Kap
Cracked
feersum
s=1;exec"a=-(-s/3);s+=a;"*input();print apara 41.
orlp 6/08/16
@ R.Kap sim, é. Qualquer valor que seja if xverdadeiro ( é verdadeiro) é um retorno válido.
Rɪᴋᴇʀ
4

Pyke, 11 bytes, pontuação = 0,45 (5/11) [rachado]

hZRVoeX*oe+

Calcula OEIS A180255

Experimente aqui!

Azul
fonte
11
Eu queria experimentar isso, mas a documentação para o idioma não é muito esclarecedora. (por exemplo, Znão é documentado, a linguagem afirma ser empilhar-base, mas depois da *existem apenas zeros na pilha apesar de ter um efeito sobre o resto do código; ordem dos parâmetros não está claramente especificado)
Score_Under
11
@Score_Under o que eu poderia fazer para melhorá-lo? - Perfeitamente feliz para discutir em uma sala de bate-papo sobre o que está claro
azul
Certo. Eu não sei como começar uma conversa, mas eu editei a minha comentário acima com alguns exemplos - Eu pensei que eu seria capaz de obtê-lo em antes de lê-lo;)
Score_Under
2
Rachado.
Dennis
4

Brachylog , 11 bytes, pontuação = 10/11 = 0,909, rachado!

ybLrb:Lrcc.

Calcula A173426 .

Experimente online!

Explicação

ybL      L = [1, 2, …, Input]
rb       Get [Input - 1, …, 2, 1]
:Lrc     Concatenate [1, 2, …, Input] and [Input - 1, …, 2, 1]
c.       Concatenate [1, 2, …, Input, Input - 1, …, 2, 1] into a single integer
Fatalizar
fonte
Rachado!
Freira vazada
4

J, 20 bytes, pontuação = 0,75 (15/20) ( rachado )

[:*/0 1(]{:,+/)^:[~]

Calcula A001654 .

Minha solução para 15 bytes foi

*&(+/@:!&i.-)>:
milhas
fonte
rachado
Dennis
3

Sesos , 14 bytes, pontuação = 0,8571 (12/14) ( rachado )

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

Calcula A000290 .

Experimente online!

Dicas

Este arquivo binário foi gerado pelo seguinte assembler:

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
Freira Furada
fonte
Rachado!
Lynn
3

MATL , 11 bytes, pontuação = 0,8181 (9/11), quebrado

YftdA-1bn^*

Calcula a função Möbius , ou A087811 (deslocamento 1).

Experimente online!

Recursos para ladrões

Eu acho que este deve ser fácil, mas de qualquer maneira aqui está uma ajuda.

Explicação do código:

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

Documentação de idioma .

Sala de chat MATL .

Luis Mendo
fonte
11
Cracked
feersum
@feersum Muito bem! Para referência, a versão de 9 bytes foiYftdA_wn^
Luis Mendo
3

MarioLANG , 87 bytes, pontuação = 0,839 (73/87), quebrado

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

Calcula A000217 , os números triangulares. Deslocamento 0.

Experimente online!

Solução curta:

Como o crack tirou apenas 1 byte, compartilharei minha solução em 73 bytes, que usa um algoritmo diferente:

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

Experimente online!

O primeiro programa estabelece todos os números de n a 1 ao longo da fita e, em seguida, soma todos os números até encontrar uma célula de valor 0. Isso é feito copiando cada célula nas duas células adjacentes, diminuindo a cópia correta e repetindo o processo até atingir 0. Durante esse processo, a fita fica assim (para 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

... e assim por diante. Em seguida, ele se move para a esquerda, somando as células até atingir uma célula com 0.

O segundo programa funciona apenas com três células da fita. Até a primeira célula atingir 0, ele faz o seguinte:

  • Mova o valor da primeira célula para a segunda célula.
  • Decrescente a segunda célula para 0, adicionando seu próprio valor à primeira e terceira células.
  • Decrementar a primeira célula.

Após a primeira célula atingir 0, a terceira célula conterá n + (n-1) + (n-2) + ... + 2 + 1.

Gato de negócios
fonte
Sua versão de 87 bytes funciona em outro intérprete? Aquele em Tio! parece exigir uma nova linha de fuga ...
Dennis
@Dennis: Ele funciona no interpretador Ruby sem a nova linha. Por qualquer motivo, o intérprete no TIO não produzirá a partir de um :se estiver na linha inferior, e foi por isso que incluí a nova linha no final do link. Martin e eu discutimos isso em outra das minhas respostas do MarioLANG.
Business Cat
OK, apenas verificando. Adicionei wrapper para Tio! que acrescenta uma nova linha ao código-fonte.
Dennis
3

Haskell, 28 bytes, pontuação = 0,3571 (10/28), quebrado

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

A006519 , a potência mais alta de 2 n, começando em n=1.

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

Enquanto você obtém crédito por qualquer código menor, considero que o verdadeiro quebra-cabeça está chegando a 10 bytes.

xnor
fonte
Parabéns @nimi, você conseguiu.
Xnor
2

Hexagonia , 7 bytes, pontuação = 0,857 (6/7), quebrada

Não foi projetado para ser a finalização vencedora, mas definitivamente uma quebra de cérebro. Na verdade, não é tão difícil se você pensar sobre isso: p. Código:

\!?__@(

Ou uma versão mais legível:

 \ !
? _ _
 @ (

Calcula A052246 .

Experimente online! .

Adnan
fonte
Cracked,
Martin Ender
2

J, 9 bytes, pontuação = 0,6667 (6/9) (decifrado por Dennis )

9 o.0j1^]

Calcula A056594 .

Freira Furada
fonte
11
Rachado.
Dennis
@ Dennis Dang, você me venceu.
Conor O'Brien
2

05AB1E , 7 bytes, pontuação = 0,571 (4/7), Rachado

0s·Ì3c;

Computa: A006331

Experimente online

Depois de jogar cinco versões únicas dessa sequência antes de encontrar essa versão pública, espero não ter deixado nenhuma melhoria óbvia por aí, pelo menos será um desafio para os ladrões.

Emigna
fonte
Rachado .
alephalpha
2

M , 9 bytes , pontuação 0,6667 (6/9) [ rachado ]

r©0+’Ac®Ḅ

Um pouco barato, já que M e Jelly são bastante semelhantes, mas permitidas pelas regras. O crack de @miles na minha resposta Jelly não funciona em M; falta o œċátomo.

Calcula a sequência A119259 . Experimente online!

Dennis
fonte
Cracked
feersum
Eu comecei a esperar que este sobrevivesse ... Muito bem.
Dennis