Pouvez-vous me golfer? (Section Cops)


84

Section de flics

La section des voleurs peut être trouvée ici .

Merci à FryAmTheEggman , Peter Taylor , Nathan Merrill , xnor , Dennis , Laikoni et Mego pour leurs contributions.


Défi

Votre tâche consiste à écrire 2 programmes différents (programmes complets / fonctions / etc. ) dans le même langage et la même version (par exemple, Python 3.5 Python 3.4, ce qui n’est donc pas autorisé), et n (avec les arguments STDIN / function). / etc. ), calculez a (n)a est une séquence OEIS de votre choix. L'un de ces programmes est plus court que l'autre. Il vous suffit de soumettre le programme plus long des deux. L'autre doit être sauvegardé au cas où il ne serait pas fissuré après 7 jours. Votre soumission est fissurée lorsque votre programme a été passé au golf (que ce soit par un octet ou plus).

Par exemple, si la tâche que vous avez choisie consistait à exécuter 2 × n , il pourrait s'agir d'une soumission valide (en Python 2):

Python 2, 16 octets, score = 15/16 = 0.9375

print(2*input())

Calcule A005843 , (offset = 0).

Si votre soumission a été fissurée, vous devez l'indiquer dans l'en-tête de la manière suivante:

Python 2, 16 octets, score = 15/16 = 0.9375, [fissuré] + lien

print(2*input())

Calcule A005843 , (offset = 0).


Décalage

Cela se trouve sur chaque page OEIS. Par exemple, pour A005843 , le décalage est 0,2. Nous avons seulement besoin d'utiliser le premier, qui est 0. Cela signifie que la fonction est définie pour tous les nombres ≥ 0.

En d'autres termes, la fonction OEIS (n) commence par n = 0 . Votre programme doit fonctionner pour tous les cas donnés par OEIS.

Plus d'informations peuvent être trouvées ici .


Notation

Le score que vous obtenez pour votre soumission est égal à la formule suivante:

Score = Longueur (en octets) du code secret ÷ Longueur (en octets) du code public

L'exemple ci-dessus a le score 15 ÷ 16 = 0,9375.

La soumission avec le score le plus bas gagne. Seules les soumissions qui ont publié leur solution seront éligibles pour gagner.


Règles

  • La tâche que vous devez effectuer est une séquence OEIS de votre choix.
  • Donné n , sortie OEIS (n) . La déviation n'est pas autorisée, vous devez donc produire exactement la même séquence (lorsque n est donné, vous devez générer OEIS (n)).
  • Les soumissions qui ne sont pas fissurées dans un délai de 7 jours sont considérées comme sûres après la publication de la solution (les soumissions de plus de 7 jours qui n'ont pas leur solution affichée sont toujours vulnérables au craquage).
  • Dans votre soumission, vous devez publier les éléments suivants: nom de la langue , nombre d'octets , code complet , donc pas de liens pastebin, etc. (pour éviter les réponses telles que Unary), séquence OEIS , partitionnez les longueurs des deux programmes et l'encodage est utilisé.
  • Remarque: la même séquence ne peut pas être postée deux fois dans la même langue. (Par exemple, si la séquence A005843 a été réalisée en Pyth, vous ne pouvez plus utiliser Pyth pour cette même séquence.)
  • Entrée et sortie en décimal (base 10)

Classement

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

Remarque

Ce défi est terminé. Le vainqueur final est feersum avec sa réponse Seed . Toutes nos félicitations! :)

Vous pouvez toujours envoyer de nouveaux flics, mais sachez qu'ils ne sont plus en concurrence.


2
@Andan Cela semble malheureux. Dites que j'écris un golf avec plusieurs astuces intelligentes qui améliorent la formule évidente. Si je poste la formule évidente, n'importe qui peut trouver une amélioration et gagner. Ou bien, je dois donner ma main et donner toutes les améliorations sauf une. Souhaitez-vous envisager de changer cela, s'il n'est pas trop tard? Désolé de ne pas avoir pensé à cela dans ce bac à sable, je ne l'ai remarqué qu'en essayant sérieusement de relever le défi.
xnor

4
@xnor Hmm, cela causerait un gros problème avec le mécanisme de notation. Vous pouvez ensuite faire une soumission arbitrairement volumineuse et presque impossible, et remporter le défi.
Adnan

3
@Adnan Vous pouvez résoudre ce problème en définissant score = len (code secret) / min {len (code public), len (code le plus court publié par robbers)}.
Anders Kaseorg

3
@Adnan Le contexte est la suggestion de xnor de faire en sorte que le score compte si les voleurs battent votre score public mais ne correspondent pas à votre score secret. Je propose un moyen de faire en sorte que cela fonctionne tout en évitant le problème qui vous préoccupe.
Anders Kaseorg

3
Oui, enfin un autre défi Cooooops et Rooooobbbbbers.
insertusernamehere

Réponses:


36

Graine , 5861 octets, score = 5012/5861 = 0,85

La séquence est des nombres premiers ( A000040 ) avec le décalage 1. a (1) = 2, a (2) = 3, a (3) = 5 etc.

106 4339425277766562922902283581834741289660008085947971671079664775075736459902652798498038280771739790213868067702391567527146683746696872737118568202495046682058807677834082334206717794057290386357040004038910321326390033894692316122893125849512049817771469697446796247656883761642659391998672259889315862253584980121050081936190889196979721443972131545258528161479083569474217100401074866410321578452749003295370495810488337344650619973376676577461877392643228932028285261311284691649403036725905675576380944186859525020321196255472295415627414823269713084816196540461818684672201926996228242729726187404845487167114556965625764494860789841409004737497250600337038738035289643512265772877903971230007222865264200102217827010958702813633039465646713707971175729900391272165457566364779628858903697222589748797809421482136725017988969980267265196209027326008642464190920825439635011414535065156799655809935871795742526416544853103823906918352472744460644939241345215614650110978624804796257165525598653433482592675123776747497586586903140407616610040250976121531777891358439091358523224019193934111409521776865798864774150127996987606796522094617839125169013781373842026970010007574244564780540958252950607459585834584855526028427463655493110963000525209314274839412714497954647707284352161251044088451086878301225167181712809612927720502228546704347274977503482518386819117870800284276687560241308964641752876311905619184965236937789822712948719170589044519552259399272657757694404103028213338440810122219269214268424256451648966039627998513353115348057963135398345514276156595104642595820063441019481255889600472121104059631555738973905087895006671206400595057069658845297458058584470727379036742268107372233190371861824194831387484478317333784774872796689435056263039565495723444232483369405079512770383639748492508848098080619713255928884946598796741958520788406091704951276729428229224292748702301286318784744573918534142896761450194446126776354892827260482520089107240497527796383449573487121759294618654056309957794765646022274249211113876873102681817500947681708211056388348991201016699342850495527766741633390367735662514559206616070479934780700857859919517187362382258597709910134111383911258731633002354208155277838257255571878219168563173495861133946240923601273185050088148273459064040178741322137494758164795598458780786653602794809987537740537018415433767449108362051063814315399931951925462073202072886716208053889630274798247936580024665863765351912184189125660586187615847325588786048095120241198943086897428919324650596915625795076460123743259068671341944912206659194476673792489442514470540309819938731582497982088632076086088279435186513066668502875362808653657423813387124496122632219269226944975782747969308509448942429277233562654639293567532567668357917753810024961683829653277391094269518376510962710057956994339018307344554672056556222387849272880157861877494719706801624724491116189525394408237355854147113614645956561900837121715298276123085019204014577395795131906357190097536924932784935203378709529040555114884933996346694363879974847691625806412083107877442577777402405491226347699452398189866905599648314105255526411599513768016126067224570735746339691839657336828937030584950250402550603260483421505256395736457980708347396132620971927806636308105501893575073944959824958733880580825249931469481777083600987966500968473202481877213198175820182125298036242272662171321630056435823478710070315022531849275633515412140708923196338877549535352180465031450246889723670908173572778497329815806296369714467774385173078365517895215622645081749679859298824530173433952201710212962315524645807786760255396609101229899503687886977229729747349967302227815724222900649259120496955396616388023947812556426182596252076072286860171961582235043470190275528327438941205680729222092142315348205283459886659277456757338926863444370956987436702675569004062857510888080701482282900718067707825890168959050535970636214821273965900140346587802750221148933877600652180282267212515086387728695565345543441575183083490091817551421389124038251086513387106526847199935776240422217886407416027185332010280169564289345500368555274327733580514983967396271907637608170801013991375555069570288329399237332712790289521766624379537848996471168926519414464863388365890585061582441222989105844636887033599262856636618609644981203616618819656730174147506366895579518927217154437260067784133452192099436160162797896733220282837763342940047719962882720310397266700665603774047807673735452896542215047419894928360985667680051383584281780118001522220147385455276205847620842066894760474814386271419398361771509559702341442734727141312211989794380570433135781896005067541537095546614638001539678780066976441749790924521292297473522803115912791790379839635473194794843511234906415092857115568242448079933264380632375450234146479596225552359821776361923588178896354011117990551249184457345201223244319766597339520899930287542362386381372955844126876031262062731835081542890548095759704856479235361996156162229417953890962902505112862674541020677153054937034038823204321411753183982406667628845943390275194956321260584953509501973880059966268311741789559039618821364775407403947492157311255310143283125490988585303127442698159113924719563571459841025286208880511134222538431747221840824203312684036627017414295981003169360893015436564680773233890198618904647085929678054127680367983802905553144716598061593632352021737488422700265144189474970515439967472618438343180405852959047054139020095303915498443045344690691354304662161461750826840689185141612937350984288238847592910919431788170821390987459951181698659544772214696392241600642992000900364649438402093845534643663733216626212187314397293309505677932731383013397665193960914949915855970134736764497124186701371371881061763702617034928084811708964018610410971938419410791443362686750151572343348438861493025667676713

Les programmes Befunge-98 ont été testés avec cet interprète .

Solution:

62 92671758747582594731336103958852355343308794409787718910287760272065096600068486400261521203099179296478278113800406388237579729434074471528101978922110199511009255327569364221068648720732186414156697930516237153253745234146558781777104311285708042469572129997820696177040412749585193035961972308024909384538547357820271391461203855177879703963391294547499579588457829374981409596253284387318191154655397249791533591896711203680125312645807793061567274893660125978667479654664977040722935418267606762108334976561590548772755653088127344268269983549959628254712562135604114391709222466418283973346968039685907258341712475120187026707300070769277380483828579629391533415119380882514570806683534933872011332303802477012040660361613689139008855327957705058672774790021218679288003003953301651226513713984857174365383390364296326192225244927665294515693697694918935732394438095829822147927645949273829493190176397786165741955566462476231578299385726525505407052332068778469428870102672560545990553686935179657522071350801304923521681690806124866463401094200444841941834667455137491597902735287855498886460945851544063102556545691787612423033525861765804657417395955322217721677429700032333887700477665924915189639029356029794151144702621112140447347270986003871777552705154393697526621456025974679633450745341583481291685834000335168972075093212539251102818038917942913311300883294570091156661153874804268309393591292001433191276766990017144340677002050765359295580546228905861008474333888247511333039470305173620221481374758754343560048199433044290376988914313248904786418615239832295700238599693805552407166251501198275363727855984193340187485162706203747898935844148656997727555488455764358003951396850496841760348138874901474547533715922587211143833052692993182786162665394965914056238514702648647904702501871758140636318131208564891924287008550289224318358936576352473100482724524675417108540029486047223784009872784235439805791496176981701859374772960623187174667015174831665360382067784289660747175586412802848517818731070091826086320292632019033525579172665790335268736167170506003176022610987557889205903933680970434653929602313812168432779881423599218075810156457004870273456214668951969634696002866863369645150677406566613367576078149751561615160777945725724620047443832859087000460506626402089973036918592151204779260519899343451226942874643654023265001514280212345984966126290887141500898797940093805650642580450926977375576911590855135774911449619005627413806680159169643085790457809525639117624947749945044091079624534522626841372604654172723500062361904864176709974716350878399949908529715899937417421315012456868864220900338162700464737416505300734198857624165994112815507157337074226022552948626042899845891195024145834980781844015548398775284084741665926642729256313545870065439195137107807599897817556866239630270351410298105991743248934632486671734759038305157913444368204353943206369388913837519310828223093441519335111533635957953613758894822654736600526811789875376813119426924959017038654104216784121093688306563643326587639486472221258233221666454164763738631579246841130247019172136121041002571694545781948282785399495873501148416357057693713305042834246973535325571882393889489457235864027134943913383832461393499203435931881991959787045205816313165984531168137210464591653390767999403651750434079431253272021002273680565508340556736474927770564408343360602057949991306130979603289667991356237787412616305022971197507815004141825394838946364485315703051195195566893733123391158803413838803831010122718476800229685100410524315094662633390222854924884579083098055980542607258318868514903610787510921796157291630993618714015755412239872758443166948699744841899868754369627081727143351807615097715679652005998467491609044596871312950634152039807480021814406950780706131231897491212637759991818212542181136384052857191779658528790835620632765143337026858373660057972387266312097135260115742458792764792668883627539340807572869610941154184473111399152964165437112713815173281951728792354570851956468302291939952274005357250989986640723863408051924618400882866539701190471828299028566020683682444415198672952980294639217217840535225987439355834087974716313911977302809235338769491339553247328065401203243450045946392960085318343121705830317674151229536850726617093615850507955559652374337057819549481320081981520577039493601331233500403284295119207704095876958023271178964331413629547646937335760969491450824461526563643617594783473684358594189269252499897162333533284912320654686655888508024970105099967896167541978181602786701854274646885561632089896312016789257459673121974866871919820865433343707787147414982407950775979279255414469970743690769124215210050618943726165676550098723299244096267839544684847323547847832349290874282817429866612456451105673214159820212156069771415582214200701894487126822756864305461967035982308878073752362075553218935807632264803200753661147341613284071218919438723527468202903770806766095252957940538229987302177328543423522712562396242285027178395886649344

8
Cela prendrait des siècles à craquer o_____O
TuxCrafting

4
Le bon langage pour le Challenge
DLosc

26

Jelly , 5 bytes , score 0,8 (4/5) [ fissuré! ]

R²Sƽ

Calcule A127721 .

Essayez-le en ligne!


Voici la solution:

RÆḊḞ
  • prendre implicitement l'entrée n
  • R: liste de [1, 2, ..., n]
  • ÆḊ: Dans notre cas, cela retournera en fait la racine carrée de la somme des carrés (ce qui peut être utile pour le golf à venir)!
  • : sol le résultat.

La documentation pour ÆḊlit:

ÆḊ: Déterminant, étendu aux matrices non carrées.

La clé est étendue aux matrices non carrées . Le "déterminant" d'une matrice non carrée est généralement indéfini, mais une définition raisonnable est sqrt(det(A A^T))(qui pour une matrice carrée se réduit à |det(A)|). Dans notre cas, A A^Test une matrice 1 x 1 contenant la somme des carrés. La racine carrée du déterminant de cela nous donne exactement ce dont nous avons besoin pour éliminer le dernier octet!


4
Bienvenue dans Programmation Puzzles et Code Golf!
Adnan

2
Juste par curiosité, est-ce réellement possible dans 4 octets? Cela fait des heures que je suis coincé là-dessus: p.
Adnan

1
@ Adam, oui c'est possible. Heureux d'entendre que vous trouvez cela difficile!
George V. Williams


@ Jimmy23013, oui, bien fait!
George V. Williams

12

Retina , 28 octets, score = 0,9286 ... (26/28), fissuré par le feersum

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

Calcule A192687 , (offset = 0).

Essayez-le en ligne! (La première ligne active une suite de tests séparée par saut de ligne.)

C'est la différence entre les séquences masculines et féminines de Hofstadter . ( Défi PPCG pertinent. )

C'était mon code d'origine:

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

Cette réponse était un peu un pari quand même, parce que la solution actuelle est basée sur une regex que j’ai annoncé être la plus courte regex de test de Fibonacci connue dans le chat il ya quelques mois. Heureusement, personne ne semblait s'en souvenir. :)



11

Hexagony , 91 bytes, Score = 0.725274725 (66/91) [Cracked]

Calcule A000045 (séquence de Fibonacci, décalage 0).

Je ne serai pas trop surpris si quelqu'un parvient à battre ceci et ma version plus golfée , même si cela devrait être difficile.

Sainte Vache, @MartinEnder m'a fouetté avec une solution de 33 octets.

Golfé (91):

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

Formaté:

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

Essayez-le en ligne!

Je ne vais pas poster une explication à cela, c'est trop horrible ...

Golfé (66):

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

Formaté:

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

Coloré:

Séquence de Fibonacci

Essayez-le en ligne!

Explication:

La disposition de la mémoire que j'ai utilisée ressemble un peu à ceci:

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

L'initialisation (en noir) définit a = 0 et b = 1. Ensuite, la boucle principale:

  • va de ala cellule d'entrée -'"
  • décrémente l'entrée - (
  • ajoute b et a - {{=+
  • le déplace "hors du chemin" - "+{=*
  • définit a à b - '+
  • déplace un "hors du chemin" - '+}=*
  • ramène b + a à sa position initiale - "=+
  • définit b sur b + a - "+
  • déplace un retour à sa position d'origine - }+

Une fois que la cellule entrée atteint 0, le MP passe à a, imprime et quitte.

Ce que j’aurais pu faire pour économiser plus d’octets, c’est d’utiliser &, qui définit simplement la cellule actuelle sur son voisin gauche ou droit. J'aurais aussi pu avoir un peu plus de contrôle de flux, mais ça va comme ça.


Fissuré. Merci de m'avoir fait écrire un programme Fibonacci. Je ne sais pas pourquoi je ne l'ai pas fait avant. :)
Martin Ender

En fait, ce que je veux, &c’est de déplacer l’entrée autour des bords a / b / a + b pour qu’ils échangent leurs rôles à la prochaine itération. De cette façon, je n'ai pas besoin de déplacer a, b et a + b du tout.
Martin Ender

@MartinEnder Désolé, j'ai écrit cette partie avant de regarder ce que votre programme a réellement fait. Votre solution est beaucoup plus intelligente
Blue

10

M , 10 octets , score 0,6 (6/10) [ fissuré ]

R‘ạḤc’*@RP

Un peu trompeur puisque M et Jelly sont assez similaires, mais autorisés par les règles. Cette version est basée sur la réponse de @ LeakyNun à ma réponse sur Jelly.

Ceci calcule la séquence A068943 . Essayez-le en ligne!

Solution envisagée

Le code suivant fonctionne dans M / Jelly.

R¹¡PÐL

J'avais en fait une solution de 4 octets à laquelle j'ai ajouté des peluches pour le rendre plus difficile à résoudre en utilisant la force brute.

R¡FP

Essayez-le en ligne!

C'est celui que je vais expliquer.

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.

Fissuré! C'était amusant!
miles

10

Stack Cats , 14 octets, score = 13/14 = 0.929 [ fissuré ]

C'est 10 octets de code, plus 4 pour les arguments -nm.

Calcule A017053 . Dans le cas où OEIS est en panne, c'est a(n) = 7n + 6à partir de n = 0.

![_-_:-_-_

Le code complet (utilisable sans -margument) est![_-_:-_-_-_-:_-_]!

La solution cachée était

!]|{_+:}_



7

Haskell, 15 octets, score = 13/15 (0,866) ( fissuré )

f x=1+2*div x 2

A109613 avec décalage 0. Répète chaque nombre impair deux fois.

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


6

Brachylog , 27 octets, score = 0.666 ... (18/27), Cracked!

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

Calcule A010551 (offset = 0).

Vous pouvez l' essayer en ligne ici .

Explication

Comme la grande majorité des gens ne connaissent pas cette langue et que je poste cette réponse principalement pour inciter les gens à la consulter (voir: le wiki de Brachylog ), je vais vous donner une brève explication du code ci-dessus:

+           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 octets, score = 0.9623 (51/53) fissuré

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

Calcule la séquence de Perrin, A001608

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

Première tentative de code de golf, n'hésitez pas à signaler les erreurs éventuelles.

Explication après la fissuration:

miles raccourci les trois premières valeurs (0,1,2) -> (3,0,2) à

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

alors que ma propre solution était un peu sur-ingénierie

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

En combinant les deux astuces, vous obtenez

n<3?3-3*n%5

pour un 47 octets

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

qui a l'air plutôt compact pour Java :)



5

Cheddar, 7 octets, score = 0,8571 (6/7), [fissuré]

n->2**n

Assez simple, juste les pouvoirs de deux. OEIS A000079

Essayez-le en ligne!


2
Euh, les créateurs de langue ont un avantage ici ...
Dennis

10
Surtout les créateurs de langues dont les langues manquent cruellement de documentation.
Mego


2
@Mego le code auto-documentant n'est-il pas considéré comme un document? Les réviseurs de code m'ont menti! D: <
Downgoat

1
@Downgoat Lorsque vous avez un lien sur votre site Web appelé "Documentation" et qu'il est terriblement incomplet ... Ouais.
Mego


4

Python 2, 43 octets, score = 0.9302 (40/43), fissuré

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

Calcule A072493

Voyons si quelqu'un peut jouer au golf avec les 3 octets.


Attendez, est-ce vraiment bien si Trueest utilisé pour représenter 1?
R. Kap


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

@ R.Kap oui, c'est ça. Toute valeur qui est la vérité ( if xest vraie) est un retour valide.
Rɪᴋᴇʀ

4

Pyke, 11 octets, score = 0.45 (5/11) [fissuré]

hZRVoeX*oe+

Calcule OEIS A180255

Essayez-le ici!


1
Je voulais essayer celui-ci, mais la documentation de la langue n’est pas très éclairante. (par exemple, il Zest non documenté; le langage prétend être basé sur une pile, mais après, *il ne reste que des zéros sur la pile même si cela a un effet sur le reste du code; l'ordre des paramètres n'est pas clairement défini.)
Score_Under

1
@Score_Under Que pourrais-je faire pour l'améliorer? - Parfaitement heureux de discuter dans un forum de discussion de ce qui n'est pas clair
Blue

Sûr. Je ne sais pas comment commencer une conversation , mais je l' ai modifié mon commentaire ci - dessus avec quelques exemples - je pensais que je serais capable de l' obtenir en avant de le lire;)
Score_Under






3

Sesos , 14 octets, score = 0,8571 (12/14) ( fissuré )

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

Calcule A000290 .

Essayez-le en ligne!

Conseils

Ce fichier binaire a été généré par l'assembleur suivant:

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 octets, score = 0,8181 (9/11), fissuré

YftdA-1bn^*

Calcule la fonction Möbius ou A087811 (décalage 1).

Essayez-le en ligne!

Ressources pour les voleurs

Je pense que celui-ci devrait être facile, mais de toute façon voici une aide.

Explication du code:

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

Documentation linguistique .

Salle de discussion MATL .



@feersum Bien joué! Pour référence, la version à 9 octets étaitYftdA_wn^
Luis Mendo


3

MarioLANG , 87 octets, score = 0.839 (73/87), fissuré

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

Calcule A000217 , les nombres triangulaires. Décalage 0.

Essayez-le en ligne!

Solution courte:

Comme la fissure n'a pris qu'un octet, je vais partager ma solution en 73 octets, ce qui utilise un algorithme totalement différent:

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

Essayez-le en ligne!

Le premier programme affiche tous les nombres de n à 1 le long de la bande, puis additionne tous les nombres jusqu'à trouver une cellule de valeur 0. Pour ce faire, il copie chaque cellule dans les deux cellules adjacentes, décrémente la copie de droite et répète le processus jusqu'à atteindre 0. Pendant ce processus, la bande ressemble à ceci (pour 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

... etc. Ensuite, il se déplace vers la gauche, en sommant les cellules jusqu'à atteindre une cellule avec 0.

Le deuxième programme ne fonctionne qu'avec trois cellules de la bande. Jusqu'à ce que la première cellule atteigne 0, il effectue les opérations suivantes:

  • Déplacez la valeur de la première cellule vers la deuxième cellule.
  • Décrémentez la deuxième cellule à 0, en ajoutant sa propre valeur aux première et troisième cellules.
  • Décrémentez la première cellule.

Lorsque la première cellule atteint 0, la troisième cellule contiendra n + (n-1) + (n-2) + ... + 2 + 1.


Votre version à 87 octets fonctionne-t-elle dans un autre interprète? Celui sur Tio! semble nécessiter un retour à la ligne ...
Dennis

@Dennis: Cela fonctionne sur l'interpréteur Ruby sans la nouvelle ligne. Pour une raison quelconque, l'interprète sur TIO ne sortira pas d'un :si c'est sur la ligne du bas, c'est pourquoi j'ai inclus le retour à la ligne final dans le lien. Martin et moi en avons discuté dans une autre de mes réponses à MarioLANG.
Business Cat

OK, je vérifie juste. J'ai ajouté wrapper pour Tio! qui ajoute une nouvelle ligne au code source.
Dennis



3

Haskell, 28 octets, score = 0,3571 (10/28), fissuré

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

A006519 , la plus grande puissance de 2 divisant n, à partir de n=1.

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

Bien que vous obteniez du crédit pour tout code plus court, j’estime que le vrai casse-tête est de passer à 10 octets.



@nimi Félicitations, vous l'avez.
xnor






En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.