Primeiro código de decatlo de golfe [fechado]

48

Tarefas

Todos os concorrentes tentam resolver a seguinte lista de 10 tarefas:

  1. Leia um número inteiro positivo n da entrada e retorne a soma dos cubos dos primeiros n números inteiros não negativos.

    Para entrada 1, isso deve retornar 0.

  2. Leia um número inteiro positivo n da entrada e retorne um valor verdadeiro se e somente se n for um primo de Mersenne .

  3. Leia uma lista não vazia de n números inteiros da entrada e retorne sua mediana .

    Se n for par, use o menor dos dois valores médios.

    Por exemplo, a mediana de [1 4 3 2]é 2.

  4. Leia um número inteiro (positivo, negativo ou 0), ou uma representação de string na base 10 ou unária, da entrada e retorne seus dígitos em negabinário , sem zeros à esquerda (com exceção da entrada 0).

    A saída pode ser formatada de qualquer maneira conveniente (dígitos, array, string, etc.).

  1. Retorno pneumonoultramicroscopicsilicovolcanoconiosis.

  2. Verifique a data atual e retorne, Happy New Year!se apropriado, de acordo com o calendário gregoriano.

  3. Selecione pseudo-aleatoriamente 64 pontos de código atribuídos exclusivos no bloco Unicode CJK Unified Ideographs Extension-A (U + 3400 - U + 4DB5) e retorne a sequência dos caracteres correspondentes.

    Todas as seqüências possíveis devem ter a mesma probabilidade de serem selecionadas.

  4. Leia duas cadeias de caracteres ASCII imprimíveis da entrada e retorne um valor verdadeiro se e somente se o caractere da primeira cadeia formar uma subsequência da segunda cadeia.

    Por exemplo, abc, axbxcdeve retornar truthy e bac, axbxcdeve retornar Falsas.

  1. Leia uma matriz retangular e multidimensional de números inteiros e um número inteiro n da entrada e retorne a matriz modificada com todos os números inteiros multiplicados por n .

  1. Leia um número inteiro não negativo n da entrada e retorne uma cadeia de n vagões de trem, como mostrado abaixo.

    Exemplo de saída para n = 3 :

     ______   ______   ______ 
    |      | |      | |      |
     ()--() ~ ()--() ~ ()--()
    

    A saída pode ser cercada por qualquer quantidade de espaço em branco, desde que pareça no exemplo.

Esclarecimentos

  • 0 não é positivo nem negativo.

  • O espaço em branco à direita é sempre permitido na saída.

  • Várias partes da entrada podem ser lidas em qualquer ordem consistente e conveniente.

Regras

  1. Nenhuma resposta pode resolver duas tarefas diferentes na mesma linguagem de programação. 1 1

  2. Para cada tarefa individual, aplicam regras padrão de .

    Em particular, você pode enviar programas ou funções com os padrões usuais de E / S , mas não pode tirar proveito dessas brechas .

    A tarefa 5 é essencialmente um , portanto, codificar a saída não é apenas permitido, mas esperado.

  3. Somente uma resposta por usuário deve ser postada, contendo no máximo uma solução para cada uma das tarefas.

    Formate sua resposta como no exemplo a seguir:

    ## Task 1, Python, 42 bytes
    
        <code goes here>
    
    Explanation, I/O, required Python version, etc. go here.
    
    ---
    
    ## Task 7, C, 42 bytes
    
        <code goes here>
    
    Explanation, I/O, required compiler (flags), etc. go here.
    

Pontuação

  1. Para cada tarefa que resolver, você recebe um ponto.

    Isso significa que você não precisa resolver todas as tarefas para participar.

  2. Se a sua solução para a tarefa n for a mais curta nessa linguagem de programação, você terá um ponto adicional.

  3. Se a sua solução para a tarefa n for a mais curta de todas as linguagens de programação, você terá um ponto adicional.

  4. Os pontos de bônus serão concedidos apenas uma vez para cada combinação de idiomas e tarefas, respectivamente.

    Como de costume, se duas soluções tiverem a mesma contagem de bytes, o tempo de lançamento será o desempate.

    Se alguém te enganar mais tarde, você perde o (s) ponto (s) de bônus que o outro atendedor ganha.

  5. Você pode enviar envios, adicionar / remover idiomas da sua resposta ou trocar os idiomas usados ​​para duas tarefas.

    Sempre que alguém edita sua resposta, todas as respostas são resgatadas.

  6. Depois de alterar os idiomas de uma tarefa, você perde a antiguidade. 2

A resposta com a pontuação mais alta vence. 3

Cabeçalho por tarefa

<style>body{text-align:left!important}#answer-list{padding:10px;width:290px;float:left}#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}</style><script src=https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js></script><link rel=stylesheet href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><div id=answer-list><table class=answer-list><thead><tr><td>Task<td>Author<td>Language<td>Score<tbody id=answers></table></div><table style=display:none><tbody id=answer-template><tr><td>{{TASK}}<td>{{NAME}}<td>{{LANGUAGE}}<td>{{SIZE}}</table><script>function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function process(){answers.forEach(function(e){var s=e.body_markdown.split("\n").filter(function(e){return"#"==e[0]});s.forEach(function(s){var r=s.match(NUMBER_REG)[0],t=(s.match(SIZE_REG)||[0])[0],a=s.match(LANGUAGE_REG)[1],n=e.owner.display_name;entries.push({task:r,user:n,language:a,size:t})})}),entries.sort(function(e,s){var r=e.task-s.task;return r?r:e.size-s.size});for(var e=0;e<entries.length;e++){var s=jQuery("#answer-template").html();s=s.replace("{{TASK}}",entries[e].task).replace("{{NAME}}",entries[e].user).replace("{{LANGUAGE}}",entries[e].language).replace("{{SIZE}}",entries[e].size),s=jQuery(s),jQuery("#answers").append(s)}}var QUESTION_ID=52152,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:&lt;(?:s&gt;[^&]*&lt;\/s&gt;|[^&]+&gt;)[^\d&]*)*$)/,NUMBER_REG=/\d+/,LANGUAGE_REG=/^#*.*?,\s*\[*([^,\]]+)/,entries=[];</script>

Classificação combinada (30-07-2015 20:00 UTC)

User / Task      1 2 3 4 5 6 7 8 9 A   TOTAL   Tie breaker (if any)

DLosc            2 2 3 2 2 2 2 3 2 2      22
Sp3000           2 2 2 2 2 3 2 2 2 2      21
Doorknob         2 2 2 2 2 2 2 2 2 2      20
mathmandan       2 2 2 2 2 2 2 2 2 2      20   Combined byte count.
MickyT           2 2 2 2 2 2 1 2 2 2      19
Alex A.          2 1 2 2 2 2 1 2 2 2      18
Jacob            2 2 2 2 2 1 0 0 0 2      13
alephalpha       2 2 2 0 2 2 0 0 2 0      12
Martin Büttner   2 0 0 2 2 0 0 2 2 2      12   Combined byte count.
kirbyfan64sos    1 2 2 0 2 X 0 2 0 3      12   Per-language wins.
Maltysen         3 0 0 0 3 2 1 X 2 0      11
plannapus        2 2 0 0 2 2 0 2 0 2      10
jimmy23013       0 0 2 3 0 0 3 2 0 0      10   Solved tasks.
Tom              0 3 0 0 2 2 0 X 3 0      10   Combined byte count.
FryAmTheEggman   1 0 2 0 2 0 2 0 2 0       9
Vioz-            1 0 2 2 2 2 0 0 0 0       9   Combined byte count.
Toby Speight     2 0 0 0 2 2 0 0 0 2       8
Ismael Miguel    0 0 0 0 2 2 0 0 0 2       6
Pulga            0 2 2 0 0 0 0 0 0 2       6   Combined byte count.
flawr            2 0 2 0 0 0 0 0 0 0       4     
manatwork        2 0 0 0 0 2 0 0 0 0       4   Combined byte count.
TheNumberOne     1 0 0 0 2 0 0 0 0 0       3

As tarefas marcadas com Xestão presentes, mas são inválidas.

O placar combinado foi construído à mão. Por favor, diga-me se houver algum erro.


1 Os idiomas contam como diferentes se não houver versões diferentes do mesmo idioma; portanto, existe apenas um JavaScript, um Python e um TI-BASIC, mas C, C ++, Octave e MATLAB são quatro idiomas diferentes.

2 Se você resolver a tarefa n usando o idioma L em x bytes, alguém resolverá a mesma tarefa no mesmo idioma com a mesma contagem de bytes, você mudará para o idioma M e reverterá sua edição, o outro atendedor manterá o ponto de bônus.

3 O número de pontos ganhos nas regras de pontuação 1, 2 e 3 (nessa ordem), a contagem combinada de bytes de todas as tarefas resolvidas (menor é melhor) e, finalmente, a contagem de votos (maior é melhor) serve como desempate.

Dennis
fonte
6
Para esclarecer, esse desafio é limitado àqueles que conhecem pelo menos 10 idiomas? Estou pedindo ... um amigo ...
vijrox
2
@VijayRamamurthy: Você não precisa resolver todas as tarefas para participar; portanto, se você resolver apenas uma tarefa, precisará conhecer apenas um idioma.
Alex A.
2
@JoeZ .: Tivemos alguns desafios de 9 buracos aqui, mas esses foram classificados pela quantidade combinada de bytes. Não que minha pontuação esteja relacionada à pontuação dos decathlons, mas eu queria deixar claro que esse é um tipo diferente de desafio.
Dennis
4
@lolesque: Isso seria um desafio padrão para o código de golfe. O objetivo aqui é usar um idioma diferente para cada tarefa.
Dennis
3
@NotthatCharles: perguntei a Gregory e ele disse em 1º de janeiro.
Dennis

Respostas:

5

Tarefa 1, GolfScript, 8 bytes

~,{+}*.*

A mesma ideia que a resposta CJam de Martin .


Tarefa 2, QBasic, 74 71 bytes

INPUT a
r=a>1
FOR i=2 TO a-1
r=r*(a MOD i)
NEXT
?r*((a\2AND a)=a\2)

Testado no QB64 com a expansão de sintaxe desativada. 1 A maior parte do programa testa se o número fornecido aé primo, amodificando cada número 2 <= i< ae multiplicando os resultados. O resultado é r0 se o número não for primo e diferente de zero. A última linha usa bit ANDa bit com divisão inteira por 2 para verificar se a representação binária de aé todas as unidades, ou seja, aé da forma 2 n -1. Multiplicando por, robtém-se 0 (falso) se um número não for um primo de Mersenne e algum valor diferente de zero (verdade), caso contrário. ?é um atalho para PRINT.

O maior Mersenne prime que testei, 8191, fornece um resultado de - 1.#INFque ainda é verdade! (Eu verifiquei com uma IFdeclaração para ter certeza.)

1 Isso não altera a semântica do programa. Se você digitar o código acima no DOS QBasic padrão, ele será automaticamente formatado com espaços extras, mas será executado exatamente da mesma maneira.


Tarefa 3, Pyth, 6 bytes

ehc2SQ

Lê uma lista no estilo Python do stdin. A principal mágica aqui é o coperador de salto: dado um int e uma lista, ele divide a lista em n pedaços. Então c2SQcorta a lista de entrada classificada pela metade. Convenientemente, quando o comprimento é ímpar, a primeira metade é a maior, então a mediana é sempre o último elemento da primeira metade. Este é o end do head dos resultados da costeleta.


Tarefa 4, CJam, 26 bytes

ri{_2%z\_0>\-2/_3$+?}h;]W%

Isso pode ser reduzido, eu suspeito.

Algoritmo:

  • Leia inteiro.
  • Faça enquanto o valor não for 0:
    • Tome abs (i% 2). Este é o próximo dígito (negabit?).
    • Divida i por -2.
    • Se eu não fosse positivo, adicione abs (i% 2) ao resultado. Isso é para corrigir um caso de canto: 3 vai para -1, mas -3 deve ir para 2, não 1.
  • Solte o 0 supérfluo, colete a pilha em uma matriz, inverta e imprima.

O fato de ser um loop do-while cuida do caso 0.


Tarefa 5, Bash, 50 bytes

echo pneumonoultramicroscopicsilicovolcanoconiosis

Não há muito a explicar.


Tarefa 6, Python, 78 bytes

from datetime import*
d=date.today()
if d.day<2>d.month:print"Happy New Year!"

Requer Python 2. Os operadores de desigualdade em cadeia do Python podem ser bem explorados aqui.


Tarefa 7, ActionScript, 82 bytes

x=""
while(x.length<64){c=chr(13312+random(6582));if(x.indexOf(c)<0)x+=c}
trace(x)

O ActionScript é um membro da família ECMAScript. Esse código requer o ActionScript 2 - muito melhor para o código de golfe, porque eu uso funções obsoletas como as chrda versão 3 String.fromCharCode!

A saída é para o painel do console:

Captura de tela da tarefa 7


Tarefa 8, Pip, 9 19 bytes

A solução regex não funcionou muito, então aqui está uma com operações de string.

Fcab@>:o&:(b@?c)+1o

Repositório do Github para Pip .

Toma as duas seqüências como argumentos da linha de comando. Quando aé uma subsequência, gera um número inteiro positivo (verdade); caso contrário, o resultado é nulo (falsy), que não produz saída.

Explicação:

                     Cmdline args -> a,b; o = 1 (implicit)
Fca                  For each character in a:
           b@?c      Find character's index in b (nil if not found)
          (    )+1   Add 1; all possible indices except nil are now truthy
       o&:           Logical AND with o
   b@>:              Slice b to everything at index o and afterward (Python b=b[o:])
                     (If c wasn't found, b becomes nil, but we don't care at that point)
                  o  Auto-print o

Tarefa 9, Prolog (SWI), 68 bytes

m(L,N,R):-L=[H|T],m(H,N,I),m(T,N,U),R=[I|U];L=[],R=[];R is L*N.

O Prolog geralmente não é nada competitivo no golfe de código, então estou muito feliz com esta solução.

Define um predicado m com parâmetros de entrada Lpara a lista e Npara o parâmetro numérico e de saída R. A definição de mé uma disjunção tripla:

  • Se Lpode ser unificado com [H|T], é uma lista com pelo menos um item na mesma. Ligue mrecursivamente no cabeçalho e no final da lista e reúna os resultados em uma nova lista unificada R.
  • Se Lpuder ser unificado [], unifique R- []o também.
  • Caso contrário, Lé assumido como um número; L*Né calculado e atribuído a R.

Exemplo de execução usando swiplno Ubuntu:

dlosc@dlosc:~/golf$ swipl -qs arrayMult.prolog
?- m([1,2,3],5,R).
R = [5, 10, 15] .

?- m([[3,4],[5,6]],3,R).
R = [[9, 12], [15, 18]] .

?- m([[[1,2],[3,4]],[[5,6],[7,8]]],2,R).
R = [[[2, 4], [6, 8]], [[10, 12], [14, 16]]] .

Tarefa 10, C, 114 112 106 bytes

#define F;printf("\n");for(i=0;i<c;i++)printf(
i;t(c){F" ______  ")F"|      | ")F" ()--() ~");putchar(8);}

Testado com gccno Ubuntu. Define uma função tque aceita um argumento inteiro. Usa três forloops para a saída, muito condensados ​​via abuso de macro. O uso do caractere backspace para apagar uma trilha ~resulta em um padrão de espaço em branco bastante estranho, masThe output may be surrounded by any amount of whitespace as long as it looks like in the example.

Exemplo de execução de t(3):

dlosc@dlosc:~/golf$ ./a.out

 ______   ______   ______
|      | |      | |      |
 ()--() ~ ()--() ~ ()--() dlosc@dlosc:~/golf$
DLosc
fonte
Infelizmente, seu código para a tarefa 8 identifica-se a.ccomo uma subsequência de abc.
Dennis
@ Dennis Isso é lamentável. (Boa captura, no entanto, obrigado.) Corrigido, a um custo de 10 bytes.
DLosc 30/07/2015
17

Huzzah, primeiro a completar todas as tarefas! \ o /

Tarefa 1, Perl, 32 bytes

$_=eval join"+",map$_**3,0..$_-1

+1 byte para o -psinalizador. Comentário: Perl é estranho .


Tarefa 2, CJam, 14 bytes

{_mp\)2mL_i=&}

Meu primeiro programa CJam!


Tarefa 3, GolfScript, 8 bytes

~$.,(2/=

Para avaliar a entrada STDIN, classifique, obtenha comprimento, diminua, divida por dois e, em seguida, pegue o item da matriz classificada nesse índice.


Tarefa 4, Python, 77 bytes

def f(i,d=''):
 while i:i,r=i/-2,i%2;i+=r<0;r+=2*(r<0);d=`r`+d
 return d or 0

Obrigado a @ mbomb007 por remover 24 (!) Bytes e a @ Sp3000 por mais 11.


Tarefa 5, Java, 66 bytes

String f(){return"pneumonoultramicroscopicsilicovolcanoconiosis";}

Entediante. Bata aqui um idioma detalhado para economizar espaço para os idiomas mais tarde.


Tarefa 6, Bash, 39 bytes

((`date +%j`<2))&&echo Happy New Year\!

Agradeço ao @manatwork por me ensinar sobre a %jremoção de 10 bytes no processo.


Tarefa 7, JavaScript, 148 bytes

a=[];Array(65).join('x').replace(/./g,function(){while(a.push(s=String.fromCharCode(13312+Math.random()*6582))&&a.indexOf(s)==s.length-1);return s})

Gere uma sequência de 64 xe substitua-os por uma função de retorno de chamada que retorne um desses caracteres aleatoriamente, se ainda não estiver na matriz de caracteres usados.


Tarefa 8, Ferrugem, 130 bytes

fn f(a:String,b:String)->bool{let mut c=b.chars();for x in a.chars(){match c.find(|&y|x==y){Some(_)=>(),None=>return false}};true}

Sim, Rust é muito, muito ruim no golfe.


Tarefa 9, Avestruz, 18 bytes

{:n;'`\d+`{~n*}X~}

Versão 0.7.0 . Inspeciona a matriz, substitui um regex para alterar os números para suas versões multiplicadas e avalia novamente a sequência resultante.


Tarefa 10, Ruby, 58 bytes

->n{([' ______  '*n,'|      | '*n,' ()--() ~'*n]*$/).chop}

"\n"é um caractere maior que "{actual newline}", que é um caractere maior que $/. Obrigado a @ MartinBüttner por remover {número indeterminado mas grande} bytes com vários truques de magia negra.

Maçaneta da porta
fonte
Tarefa 6 - $(…)`…`.
manatwork
@manatwork Obrigado, editado.
Maçaneta
Pensando novamente (absorção de cafeína em andamento ...), por que esse longo formato% D? [ `date +%j` = 001 ]Ou até ((`date +%j`<2)). (Supondo que o GNU date, que certamente suporta o formato "% j dia do ano (001..366)".)
manatwork
@manatwork Ooh, muito bom. Mais uma vez obrigado, adicionado à resposta.
Maçaneta
A tarefa 4 pode ser reduzida usando o alg ((num + 0xAAAAAAAA) ^ 0xAAAAAAAA).
24615 Jacob
15

Tarefa 1, 3var, 14 13 bytes

'><k*>#aa/>sp

( Página wiki de Esolang para 3var )

'                  R = n
 >                 A = n
  <k               B = n-1
    *              R = A*B = n(n-1)
     >             A = n(n-1)
      #aa          B = 2
         /         R = A/B = n(n-1)/2
          >s       A = (n(n-1)/2)^2
            p      Output A

Recebe entrada através de um ponto de código, por exemplo, o espaço é 32.

Felizmente, todas as operações que precisamos para implementar a fórmula n^2 (n-1)^2 / 4são caracteres simples (decrementar, multiplicar e esquadrar), mas são necessários 3 bytes para definir B2 (reset-increment-increment).


Tarefa 2, Retina, 38 33 bytes

^
1
^(..|.(..+)\2+|(.(..)+)\3*)$
<empty>

( Repositório do Github para Retina )

Cada linha entra em um arquivo separado, mas você pode testar o acima, como está com o -ssinalizador (substituindo <empty>por nada). A entrada deve ser unária com 1s, por exemplo, 1111111para 7.

Aqui está o que cada substituição de regex (especificada por um par de linhas) faz:

  1. Coloque 1 extra na frente
  2. Substituir qualquer coisa da forma 2, 1 + compositeou not power of 2com nada.

Isso adiciona um extra 1aos números primos de Mersenne, enquanto todos os outros números são eliminados.


Tarefa 3, Raquete, 71 bytes

#lang racket
(define(m x)(list-ref(sort x <)(quotient(-(length x)1)2)))

Idiomas do tipo Lisp são muito prolixo. Exemplo de execução:

> (m `(1 3 4 2))
2

Tarefa 4,> <>, 31 bytes

:?!v:2%:@-02-,
)?~\l1
!;n>l?

( Página wiki da Esolang para> <> )

O texto acima tem 28 bytes e requer a -vflag no interpretador Python por mais 3 bytes , por exemplo, execute como

$ py -3 fish.py negabinary.fish -v -137
10001011

O bom de> <> aqui é que podemos calcular os dígitos um por um via módulo e divisão, o que fornece os dígitos na ordem inversa, perfeito para imprimir em uma pilha.


Tarefa 5, Parêntese, 1448 1386 bytes

((()()())(()()()())((()())((()(())()))((()(())(())())((()(()))(()(())())((()(()))((())())((()()(()))((())()()()()()()()())((())()()()()()()()()()()()())))))))((()()())(()()())((()())((()(())()))((()()()())((()(()))(()(())())((())()()()()()()()()()()())))))((()(()))((()()())((())()()()()))((()()())((())()()))((()()()())((())()()()()))((()()())((())()()()()()()()()()))((()()())((())()))((()()())((())()()()))((()()())((())()()))((()()())((())()()()))((()()())((())()()()()()()()()()))((()()())((())))((()()())((())()()()()()()()()))((()()())((())()()()()()()))((()()()())((())))((()()())((())()))((()()()())((())()()()()()()()()))((()()()())((())()()))((()()())((())()()()()()()))((()()())((())()()()))((()()())((())()()()()()()()))((()()()())((())()()))((()()())((())()()()))((()()())((())()()()()))((()()()())((())()()()()()()()()))((()()()())((())()()))((()()())((())()()()()()()()))((()()()())((())()()()()()()()()))((()()())((())))((()()()())((())()()()()()()()()))((()()()())((())()()))((()()())((())()()()))((()()())((())()()()()()()()()()()))((()()())((())()()()))((()()())((())))((()()()())((())()()))((()()()())((())))((()()())((())()()))((()()())((())()()()))((()()()())((())()()))((()()())((())()()()))((()()())((())()()))((()()()())((())()()()()()()()()))((()()())((())()()()))((()()())((())()()()()()()()))((()()()())((())()()()()()()()()))((()()())((())()()()()()()())))

( Repositório do Github para Parenthetic )

Eu tenho uma resposta CJam para isso, que é mais curta que a própria string, mas como não posso usá-la, pensei em seguir o caminho contrário.

Código gerador de Python 3:

char97 = "((()()())(()()()())((()())((()(())()))((()(())(())())((()(()))(()(())())((()(()))((())())((()()(()))((())()()()()()()()())((())()()()()()()()()()()()())))))))"
char108 = "((()()())(()()())((()())((()(())()))((()()()())((()(()))(()(())())((())()()()()()()()()()()())))))"
open_str = "((()(()))"
close_str = ")"

target = "pneumonoultramicroscopicsilicovolcanoconiosis"
output = [char97, char108, open_str]

for c in target:
    if ord(c) >= 108:
        output.append("((()()())((())%s))"%("()"*(ord(c)-108)))
    else:
        output.append("((()()()())((())%s))"%("()"*(ord(c)-97)))

output.append(close_str)
print("".join(output))

Aqui está o código semelhante ao Lisp:

(define f (lambda (n) (char (+ n 97))))
(define g (lambda (n) (f (+ n 11))))

(+
   (g 4)  // p
   (g 2)  // n
   (f 4)  // e
   ...
)

Aparentemente, não há problema em substituir definenomeando gcomo ()(), o que economizou muitos bytes.


Tarefa 6, CJam, 26 bytes

XY]et1>>"Happy New Year!"*

Verifica se a [month day]parte do horário local é menor que [1, 2].


Tarefa 7, Python, 73 bytes

from random import*
print(*map(chr,sample(range(13312,19894),64)),sep="")

Apenas uma implementação simples do Python 3.


Tarefa 8, Prelúdio, 46 41 bytes

?(?)#(#)?(v-(#)?)10)!
      ^      1 # (0

( Página wiki de Esolang para Prelude )

Acho que isso funciona - provavelmente ainda é possível jogar golfe, mas é a primeira vez que faço um golfe não trivial em Prelude. O formato de entrada é <needle>NUL<haystack>onde NULestá 0x00. Isso funciona melhor NUMERIC_OUTPUT = Trueno intérprete Python, pois isso resultará na saída 1ou 0conforme apropriado.

Escolhi o Prelude porque há duas propriedades que o tornam muito agradável para esta tarefa:

  • Ele é baseado em pilhas, para que você possa primeiro ler a agulha, processar o palheiro um caracter por vez e
  • A pilha do Prelude possui um número infinito de 0s na parte inferior, portanto você não precisa lidar com o caso em que a agulha fica sem caracteres.

Isso teria sido ainda melhor se o Prelude tivesse um operador NOT.

Aqui está o detalhamento:

?(?)#    Read input up to the NUL, discarding the NUL afterwards

(#)      Move the needle to the second voice, effectively reversing the stack
 ^

?(...?)  Read haystack

  v-     Compare top needle char with haystack char by subtraction

  (#)    If equal, pop the needle char
   1 #

10)!     Output 1 if the top needle char is 0 (bottom of stack), 0 otherwise
(0

(-5 bytes graças a @ MartinBüttner)


Tarefa 9, Mathematica, 4 bytes

#2#&

Algo como 2 {{0, 1}, {1, 0}}é implicitamente multiplicação no Mathematica, então isso apenas coloca os argumentos lado a lado.

Conforme observado por @MartinButtner e @alephalpha , 1##&é outra resposta de 4 bytes. Veja o primeiro para uma explicação.


Tarefa 10, Trilho, 246 237 bytes

$'main'
 0/aima19-@
@------e<
         -(!!)()[ ][ ______ ]{f}[\n\]o()[ ][|      |]{f}[\n\]o()[~][ ()--() ]{f}#
$'f'                 #           #
 -(!x!)(!y!)(!!)()0g<  -(x)o()1g<  -(y)o()1s(y)(x){f}#
                     -/          -/

( Página wiki de Esolang para Rail )

Não pude deixar passar a oportunidade de realizar uma tarefa relacionada a trem no Rail :) O espaço em branco parece bastante jogável, mas com a ramificação ocupando três linhas, será preciso um pouco de trabalho para compactar.

A entrada é um número inteiro via STDIN, mas é necessário haver um EOF. A parte superior esquerda

 0/aima19-@
@------e<

é um loop atoi que converte a entrada em um número inteiro enquanto não é EOF (verificado pela einstrução).

A função fnas últimas três linhas obtém x, y, ne gera os x ntempos da sequência , separados por y. A função é recursiva, com ndecréscimo de uma por vez até que se torne zero. fé chamado três vezes, fornecendo cadeias diferentes para cada linha. Estranhamente, o Rail permite que nomes de variáveis ​​estejam vazios, o que economiza alguns bytes.

Infelizmente, a maioria dos bytes vem (!x!), o que abre o topo da pilha e o atribui à variável xe (x), que empurra xa pilha. Isso é necessário porque não há operador duplicado no Rail, portanto, (!x!)(x)(x)é a única maneira de copiar a parte superior da pilha.

Sp3000
fonte
Se a tarefa 2 estivesse em rs, você salvaria 2 bytes, e custaria apenas 14 bytes receber números em vez de unários. ;)
kirbyfan64sos
Quando vi raquete, pensei que você gosta de parênteses; mas parentético ...
bunyaCloven
13

Tarefa 1, CJam, 7 bytes

q~,:+_*

Eu só queria obter a solução CJam (presumivelmente) ideal para isso. Ele faz uso do fato de que a soma dos primeiros n cubos é o quadrado do enésimo número triangular, que é a soma dos primeiros n números inteiros.

Teste aqui.


Tarefa 4, Fissão, 173 88 78 69 68 bytes

Repositório do GitHub para Fission.

 /@\O/S@+>\
^{ }[<X/ @/;
,\?/@\J^X\
'M~\$ $
UK/W%@]  /
D
?\{\/
0'A Y

Meu segundo programa de fissão razoavelmente complicado. :)

O formato de entrada é um pouco estranho. Para suportar entradas negativas, espera-se que o primeiro caractere seja um +ou -para indicar o sinal. O valor do byte do segundo caractere é a magnitude da entrada (já que a Fissão não pode ler inteiros decimais de forma nativa). Então, se você quiser, 111você o passará +oSTDIN. E se você quiser, -56você passa -8. No lugar de +e -você pode usar qualquer caractere com um código de caractere mais baixo ou mais alto, respectivamente. Isso pode ser útil para passar algo como -n(que você echopode tratar como argumento) como, por exemplo 0n,.

Vejamos como podemos encontrar a representação negabinária de um número positivo. Queremos calcular o número do bit menos ao mais significativo (vamos colocar esses bits em uma pilha e imprimi-los todos no final para obtê-los na ordem certa). O primeiro dígito é apenas a paridade do número e dividimos o número por 2 para continuar o processamento. O próximo dígito agora é negativo (com valor -2) - mas deve-se notar que esse bit será definido sempre que o 2-bit for definido em um número binário normal. A única diferença é que precisamos combater o -2 com dígitos positivos mais altos. Então, o que fazemos é o seguinte:

  • Determinamos a paridade novamente - este é o próximo negabit - e dividimos por 2 como antes.
  • Se esse dígito for a 1, incrementamos o número restante em 1 para combater o bit negativo (a diferença entre um negabit e um bit é uma vez o valor do próximo bit mais significativo).

A grande simplificação dos resultados de código de perceber que condicionalmente adicionando um aqui é equivalente ao arredondamento do número até quando inteiro dividindo (se o bit descartado foi de 1, incrementamos o resultado dividida-inteiro por 1).

Então, o próximo bit é apenas um valor positivo novamente, para que possamos determiná-lo normalmente. Isso significa que queremos um loop que calcule dois bits de cada vez, alternando entre arredondar para cima e arredondar para baixo para o número restante, mas queremos inserir o loop no meio para começarmos com o arredondamento para baixo.

Como podemos lidar com números inteiros negativos? O problema é que a fissão não pode realmente fazer aritmética arbitrária em números inteiros negativos, porque as massas são sempre não-negativas. Então, seria preciso fazer algo realmente complicado, como trabalhar com a magnitude e acompanhar o sinal em outro lugar. No entanto, a representação negabinária de um número negativo pode ser calculada com base em um número positivo relacionado:

Se n for negativo, calcule a representação negabinária de n / 2 (arredondada para cima ) e acrescente a paridade de n .

Este é exatamente o primeiro passo do nosso loop de dois bits. Então, tudo o que precisamos fazer é iniciar o loop em um ponto diferente se o sinal for negativo.

A maior parte da economia dos 173 bytes originais veio dessas informações, o que me permitiu compactar três verificações de paridade e um loop de duas seções em um único loop com uma única verificação de paridade.

Este post ficará muito longo se eu explicar todo o código em detalhes, mas vou apontar algumas seções para fornecer o layout aproximado do fluxo de controle, e você pode descobrir os detalhes com a referência de Fissão.

 /@\
^{ }[
,\?/
'
U
D
?

Começando pelo D, isso indica um pouco da energia e da magnitude da massa de um átomo que termina no [(indo para a direita). Esse bit de sinal será alternado após cada passagem na verificação de paridade e determinará se reteremos a metade arredondada para baixo ou arredondada da entrada do loop.

     /S@+>\
    [<X/ @/
 \  @\J^X\
 M  $ $
 K  %@]  /

Este é o loop que calcula os bits individuais e alimenta a metade correta na próxima iteração. The Se the Jsão usados ​​para criar uma cópia da metade direita com base no bit de sinal atual, Xe eles fazem a cópia. O >canto superior direito calcula o bit real que é enviado à pilha Kpara ser recuperado posteriormente. Eu acho que o layout do canto superior direito é bem bacana e definitivamente vale a pena estudar em detalhes se você estiver interessado em Fissão.

O %é um comutador que alimenta o número de volta ao loop, desde que seja maior que 0.

    O


 M~\
 K/W%

 \{\/
0'A Y

Quando o número chega a 0, ele é refletido para baixo. Isso inicia outro loop que recupera os bits da pilha, os adiciona ao código de caractere 0e os imprime O. O programa termina assim que a pilha estiver vazia, porque o átomo de controle acabará sendo empurrado na pilha (e depois não haverá mais átomos em movimento).


Tarefa 5, Prelúdio, 219 179 96 bytes

Página Esolangs para Prelude.

Intérprete de snippet de pilha para o Prelude.

29+129+716705-7607-05-4759+705-14129+05-18705-29+719+05-1507-19+39+449+767549+03-68(67+^+^+^++!)

Isso começou como um programa Prelude de saída fixa artesanal, com três vozes. Depois de conversar com o Sp3000, decidi tentar uma única voz. Aconteceu que isso funcionou muito bem, porque é muito mais fácil reutilizar cartas mais antigas. Então, Dennis me deu algumas dicas e encontrei a versão atual: a idéia é empurrar todas as compensações da carta hpara a pilha de uma única voz na ordem inversa e depois imprimi-las uma de cada vez em um loop. hé escolhido porque não existe hna string (o que é importante - caso contrário, o 0deslocamento terminaria o loop) e porque minimiza a codificação das compensações em termos de compensações de dois dígitos e negativas.

A codificação de deslocamento foi gerada com este script CJam .


Tarefa 8, Mathematica, 28 bytes

LongestCommonSequence@##==#&

Yay para embutidos. (A nomeação do Mathematica é um pouco estranha aqui ... LongestCommonSubsequenceencontra a substring comum mais longa, enquanto LongestCommonSequenceencontra a subsequência comum mais longa .)


Tarefa 9, J, 1 byte

*

O mesmo que as respostas APL e K, mas parece que ninguém pegou J ainda.


Tarefa 10, Retina, 67 60 bytes

Repositório do GitHub para Retina.

(.*).
 ______  $1<LF>|      | $1<LF> ()--() ~$1
+`(.{9})1
$1$1
~$
<empty>

Cada linha entra em um arquivo separado e <LF>deve ser substituída por um caractere de nova linha e <empty>deve ser um arquivo vazio. Você também pode colocar tudo isso em um único arquivo e usar a -sopção, mas isso não permite a incorporação de caracteres de nova linha no lugar <LF>. Você pode imitar isso fazendo algo como

echo -n "111" | ./Retina -s train.ret | ./Retina -e "<LF>" -e "\n"

Como mostra o exemplo acima, espera-se que a entrada seja unária. A idéia do código é criar três cópias da entrada unária (menos 1), cada uma com uma cópia da linha correspondente. Em seguida, duplicamos repetidamente os últimos nove caracteres na frente de a 1até que todos os 1s acabem, repetindo as linhas conforme necessário. Finalmente, removemos a trilha estranha ~.

Martin Ender
fonte
10

Eh, eu vou começar com um casal, eu acho. Golfe pela primeira vez.

Tarefa 1, Python, 38 21 bytes

lambda n:(n*n-n)**2/4

Soma uma lista de todos os cubos até x. Expressão alterada graças ao xnor

Tarefa 2, TI-Basic 89, 244 bytes

Func
If iPart(log(x+1)/log(2))=log(x+1)/log(2) Then
 Return log(x+1)/log(2)
Else
 Return 0
EndIf
EndFunc
Func
If isPrime(x)=false
 Return 0
If ipart(log(x+1)/log(2))=log(log(x+1)/log(2)) Then
 Return log(x+1)/log(2)
Else
 Return 0
EndIf
EndFunc

Se não tiver 100% de certeza, testarei quando encontrar novas baterias para a minha calculadora. isPrime é um builtin, ipart é parte inteira (2.3 -> 2)

Tarefa 3, Perl, 45 34 bytes

@n=sort{$a-$b}@ARGV;print$n[$#n/2]

arquivo perl 1 2 3 4 -> 2. Salvei alguns bytes graças a @nutki. Impresso em vez de salvar para variável e depois imprimir variável.

Tarefa 4, Ruby, 43 40 bytes

x=2863311530
p ((gets.to_i+x)^x).to_s(2)

Pelo menos funciona em 1.9, não sei sobre 1.8. Em binário, '10' * 16 (ou 2863311530) mais um número, xor com esse 10101010 ... é o negativo. Produz uma representação de string com aspas (3 -> "111" em vez de 3 -> 111). Não é possível encontrar matemática para escrever x em menos caracteres.

Tarefa 5, Malbolge, 682 354 bytes

D'``_]>n<|49ixTfR@sbq<(^J\ljY!DVf#/yb`vu)(xwpunsrk1Rngfkd*hgfe^]#a`BA]\[TxRQVOTSLpJOHlL.DhHA@d>C<`#?>7<54X8165.R2r0/(L,%k)"F&}${zy?`_uts9Zvo5slkji/glkdcb(fed]b[!B^WVUyYXQ9UNrLKPIHl/.JCBGFE>bBA@"!7[;{z276/.R2r0)(-&J$j('~D${"y?w_utyxq7Xtmlkji/gf,MLbgf_dc\"`BA]\UyYXWP8NMLpPIHGLEiIHGF(>C<A@9]7<;:3W7w5.-210/(L,%k#('~}C{"y?`_uts9wpXn4rkpoh.lNMiha'eGF\[`_^W{h

Teste on-line aqui Pense que é o mais curto possível. Jogava golfe o máximo que podia. Economizou 300 bytes, então o que?

Tarefa 6, bash, 62 50 40 bytes

[ `date +%j`=1 ]&&echo 'Happy New Year!'

Descobriu% j de outra postagem.

Tarefa 10, Befunge-98, 121 bytes

>&:>1-:" ____"v
   |,k8: '"__"<
   >a,$:>1-v
      > |
>' 8k,^ #
^|':k4 '|':<
v ',*25$<
>,:1-: ")(--)("v
^," ~"_@#,k6" "<

Alterado para befunge-98. Antigo era Befunge-93, 227 157 147 bytes. Fungos usados , escritos em Haskell para teste. Usou o "do multiple times k" e adicionando caracteres únicos à pilha com '. Tenho a sensação de que pode ser reduzido a 110 ou menos, mas já passei muito tempo nisso ...

Jacob
fonte
@ Dennis, já que não posso perguntar no post principal, vou perguntar aqui. A entrada separada por espaço está ok para a tarefa 3? Não estará em [].
24615 Jacob
O que for mais adequado às suas necessidades.
Dennis
11
Você pode encurtar a soma dos cubos com a fórmula comolambda n:(n*n-n)**2/4
xnor
Pode utilizar 0=fPart(expression) rather than iPart (expressão) = expressão` na sua resposta TI-89 BASIC.
lirtosiast
11
Eu acho que esse argumento não funciona bem quando se fala em algo como Python 2/3. Por exemplo, `n` funciona melhor que str (n) em 2, mas não funciona em 3. Não consigo pensar em outros exemplos no momento, estou mais preocupado com o golfe que antes de responder mais: p
Jacob
9

Primeira coisa: a tarefa 6 tecnicamente NÃO conta; Fiz upload de unc menos de uma hora atrás. No entanto, eu quase o enviei esta manhã, mas decidi escrever uma suíte de teste primeiro. Idiota.

Então, enfim, aqui vai!

Observe que a maioria das coisas não intencionais é intencionalmente inversa, o que &&realmente significa ||e tal, e é por isso que algumas operações parecem estranhas (por exemplo, usar -para calcular o cubo).

Tarefa 1, Haskell, 21 bytes

f n=sum$map(^3)[0..n]

Tarefa 2, Hy, 135 bytes

(import math)(fn[n](and(if(and(not(% n 2))(> n 2))false(all(genexpr(% n i)[i(->> n(math.sqrt)int inc(range 3))])))(->> n dec(& n)not)))

Tarefa 3, Dardo, 37 bytes

Minha primeira função Dart!

f(l){l.sort();return l[l.length~/2];}

Tarefa 5, INTERCAL, 1047 bytes

DO ,1 <- #46
DO ,1SUB#1 <- #242
DO ,1SUB#2 <- #152
DO ,1SUB#3 <- #208
PLEASE DO ,1SUB#4 <- #248
DO ,1SUB#5 <- #248
DO ,1SUB#6 <- #192
PLEASE DO ,1SUB#7 <- #128
DO ,1SUB#8 <- #128
DO ,1SUB#9 <- #72
PLEASE DO ,1SUB#10 <- #120
DO ,1SUB#11 <- #8
DO ,1SUB#12 <- #224
PLEASE DO ,1SUB#13 <- #200
DO ,1SUB#14 <- #208
DO ,1SUB#15 <- #32
PLEASE DO ,1SUB#16 <- #208
DO ,1SUB#17 <- #120
DO ,1SUB#18 <- #88
PLEASE DO ,1SUB#19 <- #40
DO ,1SUB#20 <- #8
DO ,1SUB#21 <- #208
PLEASE DO ,1SUB#22 <- #232
DO ,1SUB#23 <- #120
DO ,1SUB#24 <- #208
PLEASE DO ,1SUB#25 <- #248
DO ,1SUB#26 <- #56
DO ,1SUB#27 <- #96
PLEASE DO ,1SUB#28 <- #160
DO ,1SUB#29 <- #208
DO ,1SUB#30 <- #208
PLEASE DO ,1SUB#31 <- #136
DO ,1SUB#32 <- #120
DO ,1SUB#33 <- #192
PLEASE DO ,1SUB#34 <- #112
DO ,1SUB#35 <- #64
DO ,1SUB#36 <- #16
PLEASE DO ,1SUB#37 <- #128
DO ,1SUB#38 <- #48
DO ,1SUB#39 <- #208
PLEASE DO ,1SUB#40 <- #128
DO ,1SUB#41 <- #224
DO ,1SUB#42 <- #160
PLEASE DO ,1SUB#43 <- #40
DO ,1SUB#44 <- #56
DO ,1SUB#45 <- #200
PLEASE DO ,1SUB#46 <- #126
PLEASE DO READ OUT ,1
DO GIVE UP

Tarefa 6, unc, 157 bytes

!include>=fgQVb%U<=
!include>=gVZR%U<=
false lRNe[]<<gVZR_g t:=gVZR[5]:volatile gZ m:=-YbPNYgVZR[&t]:for[#m%gZ_Zba||m%gZ_ZQNl!=6]chgf[L'uNccl ARj LRNe#']:>>

Tarefa 8, rs, 42 bytes

#
+#(.)(.*) .*?\1/\1#\2 
.*# .*$/1
[^1]+/0

Demonstração ao vivo.

Tarefa 10, Pyth, 46 bytes

jb(j*d2m+\ *\_6Qjdm"|      |"Qj\~m" ()--() "Q)

Demonstração ao vivo.

kirbyfan64sos
fonte
@Dennis Oops! Fixo!
kirbyfan64sos
11
Bem, eu não sei unc, mas tenho certeza que você não precisa de um dos !includes. Não tenho certeza de qual deles.
Dennis
@ Dennis Primeiro é incluir stdio.h, segundo é time.h. Eu preciso dos dois.
kirbyfan64sos
O que é uncusado para compilar o código C? O GCC funcionará muito bem sem stdio.h. Não tenho certeza time.h.
Dennis
@Dennis unc não tem um compilador definido. Apenas gera código C; Eu tenho que compilar eu mesmo. No entanto, isso faz sentido; Vou dar uma olhada mais tarde.
kirbyfan64sos
8

Tarefa 1, APL, 7 bytes

+/3*⍨⍳⎕

Você pode experimentá-lo on-line usando ngn / apl, embora funcione com qualquer implementação de APL que tenha como padrão a origem do índice 0.

Isso gera um cubo de cada número inteiro de 0 à entrada ( ⍳⎕) -1 comutando ( ) os argumentos para o operador de energia ( *). O vetor resultante é reduzido somando ( +/) e um escalar é retornado.


Tarefa 2, Julia, 42 bytes

n->(isprime(n)&&int(log2(n+1))==log2(n+1))

Isso cria uma função anônima que aceita como número inteiro como entrada e retorna um booleano. Para chamá-lo, dê um nome, por exemplo f=n->....

Primeiro, usamos a função interna de Julia isprimepara verificar se né primo. Se for, verificamos que log2(n+1)é um número inteiro. Se assim for, npode ser escrito como 2^k-1para alguns k, e, portanto, né um primo de Mersenne.


Tarefa 3, ELI , 19 bytes

{f:x[<x][~.0.5*#x]}

Isso cria uma mônada fque retorna a mediana do vetor de entrada.

Ungolfed + explicação:

{f:         // Define a function f
 x[<x]      // Sort the input vector
 [          // Select the element at index...
 ~.0.5*#x   // ceiling of 0.5 * length(input)
]}

Exemplos:

    f 1 2 3 4
2
    f ?.!20   // Apply f to 20 random integers in 1..20
4

Tarefa 4, oitava, 39 bytes

@(n,x=2863311530)dec2bin(bitxor(n+x,x))

Isso cria um identificador de função que aceita um número inteiro como entrada e retorna a sequência negabinária associada. Para chamá-lo, dê um nome, por exemplo f=@..., e corra com feval(f, <input>).

Você pode experimentá-lo online .


Tarefa 5, CJam, 47 bytes

"pneumonoultramicroscopicsilicovolcanoconiosis"

A string é simplesmente impressa em STDOUT. Você pode experimentá-lo on-line se se sentir tão inclinado.


Tarefa 6, Lote do Windows, 46 bytes

if "%date:~4,5%"=="01/01" echo Happy New Year!

A variável %date%contém a data atual no formulário Thu 06/25/2015. Podemos selecionar o mês eo dia, obtendo o substring de comprimento 5 depois de pular os 4 primeiros caracteres: %date:~4,5%. A partir daí, apenas verificamos se é 1º de janeiro e dizemos Feliz Ano Novo, se for.


Tarefa 7, Pyth, 26 bytes

=Gr13312 19895FNU64pC.(.SG

Primeiro, atribuímos Go intervalo 13312 a 19894, inclusive. Em seguida, fazemos um loop de 64 vezes e, a cada iteração, embaralhamos G( .SG), removemos e retornamos o último elemento ( .() e imprimimos sua representação de caractere ( pC).

Você pode experimentá-lo online .


Tarefa 8, Ruby, 36 bytes

def f(a,b)!b.tr("^"+a,"")[a].nil?end

Isso define uma função fque aceita duas strings ae b, onde aé a string a ser encontrada dentro b.

Tudo, exceto os caracteres, aé removido do buso .tr()e verificamos se o resultado contém aexatamente o uso []. Isso retornará nilse a string não for encontrada, para que possamos obter um valor booleano usando !with .nil?.


Tarefa 9, R, 16 bytes

function(x,n)n*x

Isso cria um objeto de função sem nome que aceita qualquer tipo de matriz ou matriz xe um número inteiro ne multiplica cada elemento xpor n. Se desejar, você pode experimentá-lo online .


Tarefa 10, Python 3, 92 bytes

n=int(input())
l="\n"
w=" ()--() "
print(" ______  "*n+l+"|      | "*n+l+(w+"~")*(n-1)+w)

Bem direto. Você pode experimentá-lo online .

Alex A.
fonte
A resposta da APL não é de 7 bytes, pois existem três caracteres Unicode em intervalos mais altos.
Tom
6
@ Tom: Cada resposta pode escolher a codificação mais conveniente. Na página de código do APL , um caractere é um byte.
Dennis
Você pode experimentá-lo on-line se você se sente tão inclinado :-D
Luis Mendo
7

Tarefa 1,> <>, 10 + 3 = 13 bytes

::*-:*4,n;

Execute isso usando o intérprete oficial do Python usando a -vflag (a um custo de 3 bytes). Isso esquadrinha a quantidade (n - n*n)e divide por 4, o que obviamente equivale a esquadrar (n*n - n)e dividir por 4.

Tarefa 2, GAP, 63 62 bytes

b:=function(m)return[2]=AsSet(Factors(m+1))and IsPrime(m);end;

(Economizou um espaço escrevendo a igualdade ao contrário.)

Tarefa 3, R, 43 39 bytes

f=function(v)sort(v,d=T)[length(v)%/%2]

Obrigado ao Plannapus pela boa melhoria!

Tarefa 4, Piet, 155 135 115 5 * 19 = 95 codels

insira a descrição da imagem aqui

Teste usando este intérprete on-line , com tamanho de codel 13. Ou use seu intérprete preferido - deixe-me saber se você tem um que você goste!

Tornar a saída em 0vez da string vazia para entrada 0foi inconveniente. Usei um if-then próximo ao começo para cuidar desse caso; depois, um loop while para calcular os dígitos no caso diferente de zero e, finalmente, outro loop while no final para gerar os dígitos da pilha.

Muito obrigado ao Sp3000 por alguns comentários muito úteis, que me ajudaram a economizar alguns codels!

Tarefa 5, Lua, 52 bytes

print"pneumonoultramicroscopicsilicovolcanoconiosis"

Você pode tentar aqui .

Tarefa 6, LaTeX, 157 139 136 127 128 bytes

\documentclass{book}\begin{document}\count1=\day\multiply\count1 by\month
\ifcase\count1\or Happy New Year!\else~\fi\end{document}

Se o produto do dia e do mês for 1, imprima a mensagem; caso contrário, nada. (O dia de ano novo é particularmente conveniente para esse design: como a saída que procuramos é 1, precisamos apenas de uma ordeclaração. A nenésima orespecificação especifica o comportamento do valor n.)

Nota: minha versão anterior estava faltando o retorno da linha, o que foi um erro. (Tentei testar essa função, mas realmente testá-la corretamente pode demorar um pouco ...)

Minha versão original usava o calcpacote, o que era muito mais conveniente que a minha versão atual. Algo a ter em mente para a "vida real"!

Tarefa 7, Ruby, 62 bytes

for r in Array(13312..19893).sample(64)
puts [r].pack('U*')end

Tarefa 8, JavaScript, 78 bytes

h=function(l,m){u=1+m.indexOf(l[0]);return(!l||u&&h(l.substr(1),m.substr(u)))}

Solução recursiva, testando se lé uma substring de m. Se lestiver vazio, os !lresultados truee a função serão encerrados. (Nesse caso, l[0]é indefinido, mas o JavaScript está bem com isso.) Caso contrário, ele procurará a primeira instância de l[0]in m. Se ele não encontrar um, em seguida, m.indexOf(l[0])resulta em -1e por isso uresulta em 0e termina função.

Caso contrário, retira a primeira entrada le as primeiras uentradas me continua a verificação.

Tarefa 9, Python, 72 60 bytes

def i(a,n):
 try:return[i(c,n)for c in a]
 except:return n*a

Faz uma busca detalhada no "nível mais baixo", onde anão há mais uma lista, apenas um número inteiro e, em seguida, efetua a multiplicação.

Muito obrigado ao Dennis por me salvar 12 bytes!

Tarefa 10, Groovy, 81 bytes

def j(n){(' ------  '*n+'\n'+'|      | '*n+'\n'+' ()--() ~'*n).substring(0,27*n)}

Experimente aqui . Originalmente, tentei implementar algo como o .join()método Python para strings, que reúne strings com uma determinada "string de vinculação" (como as ligações entre vagões de trem). Mas isso custou muito mais do que economizou.

Espero não ter violado nenhuma convenção para obter respostas aceitáveis ​​nesses vários idiomas, mas informe-me se tiver.

Obrigado a Dennis por um desafio fantástico!

mathmandan
fonte
except:return n*asalva alguns bytes para a tarefa 9. Na tarefa 1, eu contaria o -vsinalizador como um byte.
Dennis
@Dennis Veja esta meta post . Embora, neste meta post , você provavelmente possa substituir o -vsinalizador por i(embora eu ache que seria bom se as duas versões fossem mencionadas, para testes mais fáceis).
Sp3000 28/06
@ Dennis, muito obrigado pela sua melhoria inteligente!
mathmandan
11
3 bytes é correcta pela pós meta acima (espaço, -, v). Eu apenas quis dizer que você tem a opção de receber entrada como um ponto de código através da iinstrução.
SP3000
11
btw, para o número 4, o módulo negativo não é tão estranho - apenas varia de idioma para idioma (por exemplo, Java faz isso de memória). Uma maneira de produzir a pilha inteira pode ser manter algo na parte inferior da pilha que você sabe que não estará na saída e manter os caracteres de impressão enquanto não for esse caractere especial. Além disso, há o PietCreator .
SP3000
6

Tarefa 1, Pyth, 5 bytes

s^R3Q

Toma o número de stdin. Obrigado @Jakube por apontar o inútil U.

Tarefa 6, javascript, 56 bytes

if(Date().slice(4,10)=="Jan 01")alert("Happy New Year!")

Tarefa 7, CJam, 16 bytes

6581,mr64<'㐀f+

Gera alcance, embaralha, pega os primeiros 64 e mapeia a adição do valor inicial e a conversão em caracteres. 14 caracteres, 16 bytes.

Tarefa 8, oitava, 23 bytes

@(x,y)intersect(x,y)==x

Define a função anônima.

Tarefa 5, PHP, 45 bytes

pneumonoultramicroscopicsilicovolcanoconiosis

Sem compactação, apenas imprime.

Tarefa 9, APL 1 byte

 ×

O mesmo que a resposta K.

Maltysen
fonte
@ Dennis Eu também não sei - eu apenas pesquisei no palpite e coloquei essa resposta sem testar :). Vou tentar testar em um emulador agora.
Maltysen
@ Dennis oh, você está certo, calcula a média dos 2 do meio, diminuindo isso.
Maltysen
11
O que você está fazendo com esse espaço .slice(4, 10)?
precisa
@Dennis derrrp. desculpa.
Maltysen
11
Há apenas uma abreviação de um mês que termina com "an", para que você possa deixar de lado o J durante o teste. (Também seria significativamente menor que fazer /an 01/.test(Date()).)
NinjaBearMonkey
6

Tarefa 1, R, 21 19 bytes

sum((1:scan()-1)^3)

Bastante direto. Entrada de STDIN.

Tarefa 2, Perl, 40 66 bytes

$a=log(<>+1)/log(2)+1;print$a==int($a)&&(1x$a)!~/^1?$|^(11+?)\1+$/

Adicionado um verificador primário (regex do verificador de número primo Abigails)

Tarefa 3, PARI / GP, 24 22 bytes

m(v)=vecsort(v)[#v\2];

Primeira vez que toquei isso. Pode ter que aprender um pouco mais disso.

Tarefa 4, T-SQL, 235 bytes

CREATE FUNCTION D(@ INT)RETURNS TABLE RETURN WITH R AS(SELECT @/-2+(IIF(@%-2<0,1,0))D,CAST(ABS(@%-2) AS VARCHAR(MAX))M UNION ALL SELECT D/-2+(IIF(D%-2<0,1,0)),CAST(ABS(D%-2)AS VARCHAR(MAX))+M FROM R WHERE D<>0)SELECT M FROM R WHERE D=0

Função de tabela embutida usando CTE recursiva. Muito grande, mas divertido de fazer.

Usar

SELECT * FROM D(18)
M
------
10110

Tarefa 5, GAP, 48 bytes

"pneumonoultramicroscopicsilicovolcanoconiosis";

Tarefa 6, Excel, 51 48 bytes

=IF(TEXT(NOW(),"md")="11","Happy New Year!","")

Obrigado a @Bond pelos 3 bytes.

Tarefa 7, Python 2.6, 98 93 85 bytes

from random import*
l=range(13312,19893)
shuffle(l)
print ''.join(map(unichr,l[:64]))

Esta é a primeira vez que tentei fazer algo em Python, então poderia ser muito melhor. Obrigado @Dennis e @Jacob pelas ótimas dicas

Tarefa 8, TCL, 57 bytes

proc m {a b} {string match [regsub -all (.) $a *\\1]* $b}

Pena que remover espaços em branco mata isso

Tarefa 9, Pike, 53 bytes

mixed m(array(array(int))a,int n){return(a[*])[*]*n;}

Uma função que retorna a matriz multiplicada

Tarefa 10, PowerShell, 88 bytes

Function t($n){Foreach($s in "  ______ "," |      |","~ ()--() "){($s*$n).Substring(1)}}

Uma função Powerhell. Eu acho que posso encurtar um pouco, mas aqui está o momento.

E finalmente terminei :)

MickyT
fonte
Você pode salvar 4 bytes na tarefa 6: =IF(TEXT(NOW(),"md")="11","Happy New Year!","").
bond
Graças @Bond para que
MickyT
Também não conheço Python, mas l[:63]deve funcionar e (13312,19894)é mais curto que as constantes hexadecimais (e a soma).
Dennis
@Dennis Thanks experimentará e mudará #
MickyT 26/06/2015
@ Dennis Peguei 19893 como o alto valor, porque range(19892,0x4DB5+1)me deu[19892, 19893]
MickyT
4

Tarefa 2, J, 10 bytes

1&p:*/@,#:

Anexa um 0 ou 1 booleano se a entrada é primária para sua representação binária e, em seguida, pega o produto. Trabalha na versão atual do J.


Tarefa 5, HTML, 45 bytes

pneumonoultramicroscopicsilicovolcanoconiosis

Tarefa 6, peixe, 53 bytes

test 0101 = (date '+%d%m');and echo 'Happy New Year!'

Com base na resposta do bash.


Tarefa 8, APL, 12 bytes

{(⍳⍴⍺)≡⍋⍵⍳⍺}

Esta é uma expressão de função. Ele compara a ordem dos caracteres encontrados na cadeia maior com o que seria esperado se eles fossem classificados.


Tarefa 9, K, 1 byte

*

Deve funcionar em qualquer versão. As operações aritméticas são distribuídas por matrizes.

Tom
fonte
Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
Martin Ender
2
Seu código para a tarefa 8 não funciona abc caxbxc.
jimmy23013
4

Tarefa 1, Ruby, 40 bytes

def f n;(0..n-1).inject{|a,b|a+b**3};end

Primeira vez escrevendo algo em Ruby. Testado com ruby ​​1.8.7.


Tarefa 2, R, 50 bytes

n=scan();p=log(n+1,2);!p%%1&sum(!n%%2:n,!p%%2:p)<3

Calcula p, verifique se é um número inteiro e se n e p são primos.


Tarefa 5, PostgreSQL, 54 bytes

SELECT'pneumonoultramicroscopicsilicovolcanoconiosis';

Tarefa 6, Lua, 55 bytes

print(os.date("%j")=="001" and "Happy New Year!" or "")

Tarefa 8, Python, 65 bytes

import re;f=lambda s,S:bool(re.search(re.sub(r'(.)',r'\1.*',s),S))

Uso:

>>> import re;f=lambda s,S:bool(re.search(re.sub(r'(.)',r'\1.*',s),S))
>>> f('abc','axbxcx')
True
>>> f('bac','axbxcx')
False
>>> f('abc','axdxcx')
False
>>> f('abc','abc')
True

Tarefa 10, Julia, 73 bytes

f(n)=print(" ______  "^n*"\n"*"|      | "^n*"\n"*(" ()--() ~"^n)[1:9n-1])

Graças a @AlexA. por ajudar a encurtar esse código! Exemplo de saídas:

julia> f(0)




julia> f(1)
 ______  
|      | 
 ()--() 

julia> f(2)
 ______   ______  
|      | |      | 
 ()--() ~ ()--() 

julia> f(3)
 ______   ______   ______  
|      | |      | |      | 
 ()--() ~ ()--() ~ ()--() 
plannapus
fonte
Para Tarefa 2 você poderia usarlog2
MickyT
Atualmente, conto 86 bytes para a tarefa 10. de Julia. Mas você pode obtê-lo para 81 usando uma função lambda (por exemplo, substituir f(n)=por n->) e mudando 1:(9*n-1)para simplesmente 1:9n-1.
Alex A.
Certo, contei \ncomo 1 bytes, por hábito.
plannapus
Em vez de (" "*"_"^6*" ")^n, você pode usar " ______ "^n(da mesma forma para a | |peça). 70 bytes: n->print(" ______ "^n*"\n"*"| | "^n*"\n"*(" ()--() ~"^n)[1:9n-1]). (O espaço entre as barras não está exibindo aqui embora)
Alex A.
3

Tarefa 1, Haskell, 17 bytes

f x=(x*(x-1)/2)^2

Tarefa 2, Mathematica, 30 bytes

PrimeQ@#&&Mod[Log2[#+1],1]==0&

Tarefa 3, JavaScript, 46 bytes

function(x){return x.sort()[0|(x.length-1)/2]}

Tarefa 5, MATLAB, 47 bytes

'pneumonoultramicroscopicsilicovolcanoconiosis'

Tarefa 6, Ruby, 56 bytes

print Time.now.to_s[5,5]=="01-01"?"Happy New Year!":""

Tarefa 7, Python, 106 bytes (recuar com \t)

from random import*
s=''
while len(s)<64:
    c=unichr(randint(0x3400,0x4DB5))
    if c not in s:
        s+=c
print s

Note-se que o uso simples de list(set(s))se não trabalhar aqui como isso irá causar uma distribuição de probabilidade não uniforme no espaço de todas as seqüências possíveis devido a re-ordenação dos membros da lista.


Saran
fonte
@ Dennis re tarefa 7: Acordado no ponto 1, será corrigido sempre que tiver uma chance. No que diz respeito ao REPL, existe uma regra contra isso?
Saran
Tudo bem, tudo consertado agora.
Saran
Para 1, presumivelmente você pode fazer (x*x-x)^2/4?
xnor
Irritantemente, a função de classificação padrão do JavaScript converte números em seqüências de caracteres ao comparar, portanto, compara apenas o primeiro dígito de cada número. Portanto, ele falha em [2,3,10].
NinjaBearMonkey
11
No 7, você pode realmente colocar if c not in s:s+=ctudo em uma linha, salvando alguns caracteres. Também 0x3400pode ser substituído por 13312, que é um caractere mais curto (e da mesma forma para 0x4db5). Por fim, não mudará o número de caracteres, mas, se você não gostar do recuo da guia, poderá recuar com um único espaço.
mathmandan
3

Tarefa 1, Haskell, 15 bytes

f n=(n*n-n)^2/4

Tarefa 2, Julia, 28 bytes

n->(isprime(n)&&ispow2(n+1))

Tarefa 3, oitava, 30 bytes

@(x)sort(x)(ceil(length(x)/2))

Tarefa 5, Yacas , 45 bytes

pneumonoultramicroscopicsilicovolcanoconiosis

Tarefa 6, Mathematica, 46 bytes

If[DateList[][[{2,3}]]=={1,1},Happy New Year!]

Tarefa 9, PARI / GP, 10 bytes

(n,a)->n*a
alefalpha
fonte
3

Tarefa 3, Clipe, 13 bytes

gHk[tivt}l`sk

Outra versão:

gHkci`v``l`sk

o ` parecia custo muito alto.

Tarefa 4, KSFTgolf, 16 bytes

g:]2%:)-2/:;xgpc

O intérprete está aqui.Não tenho certeza do que estou fazendo ... Ele imprime o negabinário e depois trava.

Há um erro no intérprete. Ou poderei jogar até 12 bytes usando a conversão básica interna (mas funciona apenas com números inteiros positivos):

2*02-ba'Z=;x

Versão original do CJam:

qi{_1&_@^-2/}h;]W%

Tentei Pip, Ostrich, Clip e Burlesque para descobrir se existe um esolang com negabinário interno. Nenhum deles funcionou. KSFTgolf usadonumpy , que parecia ter algum comportamento estranho e conveniente quando a base é negativa. Mas não é fácil fazê-lo funcionar com números não positivos.

Tarefa 7, CJam, 15 bytes

'䶶,DAm<>mr64<

Tarefa 8, APL, 21 bytes

∨/↑{⍺∧0,2∧/∨\⍵}/⌽⍞=↓⍞

Experimente online.

jimmy23013
fonte
Lol @ "Eu não tenho certeza do que estou fazendo"
Alex A.
A questão não era muito clara sobre isso, mas minha intenção era que o código da tarefa 4 manipulasse a entrada 0. A versão sem conversão básica embutida parece manipulá-la perfeitamente.
Dennis
@Dennis Fixed. Mas e se eu escolher usar unário?
jimmy23013
Usar algum deslocamento fixo ou complemento de 2 poderia funcionar. Eu também aceitaria um sinal seguido por um número unário.
Dennis
3

Tarefa 2, x86 masm, 40 bytes

C7 45 FC FF FF 07 00 B9 
00 00 00 00 B8 02 00 00 
00 D3 E0 3B 45 FC 7D 03 
41 EB F1 B8 02 00 00 00
D3 E0 48 3B 45 FC 75 13

(excluindo cabeçalho, MessageBox, etc - apenas bytes relevantes)

include     \masm32\include\user32.inc  
includelib  \masm32\lib\user32.lib

.data
    ClassName   db "Mersenne Prime Found",0
.data?

.code
start proc
    LOCAL IsMersenne: DWORD
    mov IsMersenne, 524287 ; put number to test in this input
    mov ecx, 0
l00p:
    mov eax, 2
    shl eax, cl
    cmp eax, IsMersenne
    jge br3ak
    inc ecx
    jmp l00p
br3ak:
    mov eax,2                                                                                     
    shl eax, cl 
    dec eax
    cmp eax, IsMersenne                                                           
    jnz n0pr1me                                                              
    invoke MessageBox, 0, addr ClassName, addr ClassName, 40h
n0pr1me:
    ret
start endp
end start

Tarefa 3, C, 136 bytes

#include<stdio.h> 
int C(void*A,void*B){return(*(int*)A-*(int*)B);} 
main(){int S=4;int A[]={3,1,2,4};qsort(A,S,4,C);printf("%i",A[((S&1)?S:S-1)/2]);}

Compile usando gcc -o Prime main.c


Tarefa 10, C ++, 478 bytes

#include<stdio.h>
#include<string.h> 
#include<stdlib.h>
void D(int Z){int L=9,i,X=0;const char*A=" ______  ";const char*B="|      | ";const char* C = " ()--() ~ ";char*P=(char*)malloc(27*Z+5);for(i=0;i<Z-1;i++){if(!i){memcpy(P,A,L);X+=L;}memcpy(&P[X],A,L);X+=L;if(i==Z-2){memcpy(&P[X],"\n",1);X++;}}for(i=0;i<Z;i++){memcpy(&P[X],B,L);X+=L;if(i==Z-1){memcpy(&P[X],"\n",1);X++;}}for(i=0;i<Z;i++){memcpy(&P[X],C,L);X+=L;if(i==Z-1)P[X-1]='\0';}printf("%s\n",P);free(P);}
main(){D(15);}

Compile usando g++ -o Trucks main.cpp

C & C ++ pode ser reduzido, mas adicionaria erro do compilador. Não sei as regras exatas, então tentei deixar o código sem erros do compilador.

Pulga
fonte
3
Bem-vindo ao PPCG! Os avisos do compilador podem ser ignorados com segurança, desde que o compilador produza um binário utilizável.
Dennis
2
No código golf, um compilador C avisará que ele pode ser jogado ainda mais por não produzir um aviso.
Comintern
Ignore os avisos - e sinta-se livre para vazar a quantidade de memória que desejar também. :-)
Toby Speight
3

Tarefa 1, Python, 35 bytes

lambda x:sum(_**3for _ in range(x))

Tarefa 3, CJam, 9 bytes

q~$_,(2/=

Tarefa 4, JavaScript, 55 53 bytes

function(n){s=0xAAAAAAAA;return((n+s)^s).toString(2)}

Tarefa 5, Pyth, 46 bytes

"pneumonoultramicroscopicsilicovolcanoconiosis

Tarefa 6, C #, 65 bytes

string c(){return DateTime.Now.DayOfYear<2?"Happy New Year!":"";}
Kade
fonte
2

Tarefa 1, jq, 24 bytes

[range(1;.)|.*.*.]|add+0

Tarefa 6, PostgreSQL, 54 bytes

select'Happy New Year!'where'001'=to_char(now(),'DDD')
homem a trabalhar
fonte
2

Tarefa 1, Cjam, 7 bytes

q~,:+_*

Edit: Acabei de notar que Martin postou isso antes de mim. Vou tentar outra coisa ...

Tarefa 3, Python, 30 bytes

lambda l:sorted(l)[~-len(l)/2]

Python 2.

Tarefa 5, ///, 45 bytes

pneumonoultramicroscopicsilicovolcanoconiosis

/// fará eco de algo sem /caracteres.

Tarefa 7, Pyth, 19 bytes

s>64.SmC+13312d6582

Programa. Por favor, me diga se eu estraguei a matemática. Experimente aqui

Tarefa 9, oitava, 9 bytes

@(a,n)a*n

Identificador de função anônima. O Octave faz isso automaticamente com a matriz * escalar.

FryAmTheEggman
fonte
Para a tarefa 7, ela deve ser única.
Maltysen
Sim, pyth tem .Sshuffle, e você pode usar shum em vez de jk.
Maltysen
2

Não encontrei tempo para tentar todos, mas aqui está o começo

Tarefa 1, CC, 8 bytes

d1+*d*4/

Entrada e saída no topo da pilha, conforme dcconvenção.

Tarefa 5, Emacs Lisp, 46 bytes

'pneumonoultramicroscopicsilicovolcanoconiosis

Abuso das regras:

grep 'pn.*v' /usr/*/*/brit*-large

O melhor que consegui descompactar da forma compactada foi 55, no Perl:

unpack("H45",'uïFVóÙ¤¼g°0Æö<¥le°°')=~y/0-9bdf/i-v/r

(caracteres não imprimíveis acima ficam distorcidos pelo SE, mas como na verdade não é minha resposta, não estou corrigindo)

Tarefa 6, SQL, 54 bytes

SELECT IF(now()LIKE'%-01-0_%','Happy New Year!','Hi');

Considero que os dez primeiros dias de janeiro são dias "apropriados" para esta saudação, mas você pode ajustar a seu gosto. A now() LIKEconstrução funciona mais curta do que extrair o dia do ano com DATE_FORMAT(now(),'%j').

Tarefa 10, sed, 58 bytes

s/./ ()--() ~/g;s/.$//;h;y/()-~/___ /;p;g;y/ ()-~/|    /;G

Entrada em unário.

Toby Speight
fonte
strstrbuscas para substrings, não subseqüências. Receio que a tarefa 5 seja de complexidade kolmogorov, portanto, buscar a palavra em um dicionário pode ser inteligente, mas não é permitido.
Dennis
Obrigado. Eu não entendi a subsequência. Farei uma tarefa alternativa 5, mas é muito chata.
Toby Speight
Existem algumas soluções interessantes para a tarefa 5, mas ninguém postou uma curta até agora.
Dennis
1

Tarefa 5, MarioGolf , 50 bytes

Essa foi uma linguagem que desenvolvi há algum tempo.

A versão atual possui funcionalidade suficiente para permitir executar esse desafio.

Y|<pneumonoultramicroscopicsilicovolcanoconiosis|O

Você pode experimentá-lo online em http://htmlpreview.github.io/?https://raw.githubusercontent.com/ismael-miguel/mariogolf/master/js/testpage.html#c:Y|<pneumonoultramicroscopicsilicovolcanoconiosis|O

Atualmente, o desenvolvimento está parado e a implementação está incompleta.

A confirmação mais recente foi em 13 de março de 2015.

Tarefa 6, PHP, 37 bytes

Este é realmente fácil e divertido!

<?=date(jn)==11?'Happy New Year!':'';

Tarefa 10, Javascript, 121 bytes

Sim, não é tão golfe ...

Mas isso faz o trabalho!

console.log((' ______  '.repeat(i=prompt()))+'\n'+('|      | '.repeat(i))+'\n'+(' ()--() ~'.repeat(i).replace(/~$/,'')));

Tente:

O código não será exibido bem no snippet da pilha devido a ele começar "na saída. Espaços adicionais foram adicionados para compensá-lo.

O código original pode ser executado no console do Chrome sem nenhum problema, e a saída será a esperada.

Ismael Miguel
fonte
@ Dennis Obrigado! Eu interpretei mal a tarefa 5. Ainda estou pensando em como implementarei as outras tarefas, mas estou tendo um mau momento.
Ismael Miguel
11
Você tem certeza date(dM)? Aqui retorna "25Jun". (conjunto de localidade para en_US) Talvez “j”, e “n” serviria melhor, como “d” e de “m” retorna os valores 0 acolchoado a largura 2.
manatwork
@ manatwork Você está correto. Foi erro meu. Que você por detectar isso.
Ismael Miguel
1

Tarefa 1, CJam, 10 bytes

li,{3#}%:+

Experimente aqui

Tarefa 5, Retina, 46 bytes

<empty>
pneumonoultramicroscopicsilicovolcanoconiosis
O número um
fonte
1

Tarefa 1, oitava, 15 bytes

@(n)(n^2-n)^2/4

EDIT: Eu pensei que eu adicionei isso, mas parece que eu esqueci de salvar: Isso usa o fato de que sum(1^3+2^3+3^3+...+n^3) = sum(1+2+3+...+n)^2 = [n*(n+1)/2]^2

Tarefa 3, Javascript, 24 bytes

x=>x.sort()[x.length>>1]
flawr
fonte
1

Ok, vamos fazer as coisas fáceis primeiro:

Tarefa 5, ASP, 45 bytes

pneumonoultramicroscopicsilicovolcanoconiosis

Tarefa 6, JavaScript, 46 bytes

/an 01/.test(Date())&&alert("Happy New Year!")
user2428118
fonte
1

Tarefa 1, VBA, 126 bytes

Function f(n As Integer)
    Dim i As Integer
    For i = 0 To n - 1
        f = f + i ^ 3
        Next i
End Function

Eu não tenho idéia de como jogar golfe no VBA. Não digitei um único espaço, o VBA inseriu automaticamente espaços em branco. =f(5)em uma célula no Excel exibirá 100.

Tarefa 2, oitava, 32 bytes

@(n)isprime(n)&~mod(log2(n+1),1)

Tarefa 5, Golfscript, 47 bytes

"pneumonoultramicroscopicsilicovolcanoconiosis"

Tarefa 9, MATLAB, 9 bytes

@(A,n)A*n

Bem, é um começo ...

Stewie Griffin
fonte