Primer código de decatlón de golf [cerrado]


48

Tareas

Todos los competidores intentan resolver la siguiente lista de 10 tareas:

  1. Lea un entero positivo n de la entrada y devuelva la suma de los cubos de los primeros n enteros no negativos.

    Para la entrada 1, esto debería volver 0.

  2. Lea un entero positivo n de la entrada y devuelva un valor verdadero si y solo si n es un primo de Mersenne .

  3. Lea una lista no vacía de n enteros de la entrada y devuelva su mediana .

    Si n es par, use el menor de los dos valores medios.

    Por ejemplo, la mediana de [1 4 3 2]es 2.

  4. Lea un entero (positivo, negativo o 0), o una representación de cadena en base 10 o unario, desde la entrada y devuelva sus dígitos en negabinario , sin ceros a la izquierda (con la excepción de la entrada 0).

    La salida se puede formatear de cualquier manera conveniente (dígitos, matriz, cadena, etc.).

  1. Retorno pneumonoultramicroscopicsilicovolcanoconiosis.

  2. Verifique la fecha actual y regrese Happy New Year!si corresponde según el calendario gregoriano.

  3. Seleccione pseudoaleatoriamente 64 puntos de código asignados únicos del bloque Unicode CJK Ideographs Unified Extension-A (U + 3400 - U + 4DB5) y devuelva la cadena de los caracteres correspondientes.

    Todas las cadenas posibles deben tener la misma probabilidad de ser seleccionadas.

  4. Lea dos cadenas de caracteres ASCII imprimibles de la entrada y devuelva un valor verdadero si y solo si el carácter de la primera cadena forma una subsecuencia de la segunda cadena.

    Por ejemplo, abc, axbxcdebe devolver Truthy y bac, axbxcdebería devolver Falsy.

  1. Lea una matriz rectangular multidimensional de enteros y un entero n desde la entrada y devuelva la matriz modificada con todos los enteros multiplicados por n .

  1. Lea un número entero no negativo n de la entrada y devuelva una cadena de n vagones de tren, como se muestra a continuación.

    Ejemplo de salida para n = 3 :

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

    La salida puede estar rodeada por cualquier cantidad de espacio en blanco siempre que se vea en el ejemplo.

Aclaraciones

  • 0 no es ni positivo ni negativo.

  • Los espacios en blanco finales siempre están permitidos en la salida.

  • Se pueden leer varios datos de entrada en cualquier orden coherente y conveniente.

Reglas

  1. Ninguna respuesta puede resolver dos tareas diferentes en el mismo lenguaje de programación. 1

  2. Para cada tarea individual, se aplican las reglas estándar de .

    En particular, puede enviar programas o funciones con los valores predeterminados de E / S habituales , pero no puede aprovechar estas lagunas .

    La tarea 5 es esencialmente un , por lo que codificar el resultado no solo está permitido sino que se espera.

  3. Solo se debe publicar una respuesta por usuario, que contenga como máximo una solución para cada una de las tareas.

    Formatee su respuesta como en el siguiente ejemplo:

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

Puntuación

  1. Por cada tarea que resuelves, obtienes un punto.

    Esto significa que no tiene que resolver todas las tareas para participar.

  2. Si su solución para la tarea n es la más corta en ese lenguaje de programación, obtendrá un punto adicional.

  3. Si su solución para la tarea n es la más corta de todos los lenguajes de programación, obtendrá un punto adicional.

  4. Los puntos de bonificación se otorgarán solo una vez por cada combinación de tarea-idioma y cada tarea, respectivamente.

    Como de costumbre, si dos soluciones tienen el mismo número de bytes, el tiempo de publicación es el factor decisivo.

    Si alguien te supera más tarde, pierdes los puntos de bonificación que el otro respondedor gana.

  5. Puede enviar golf, agregar / eliminar idiomas de su respuesta o intercambiar los idiomas utilizados para dos tareas.

    Cada vez que alguien edita su respuesta, todas las respuestas se vuelven a calificar.

  6. Una vez que cambia los idiomas para una tarea, pierde la antigüedad. 2

La respuesta con la puntuación más alta gana. 3

Tabla de clasificación por tarea

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

Tabla de clasificación combinada (2015-07-30 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

Las tareas marcadas con Xestán presentes pero no son válidas.

La tabla de clasificación combinada se ha construido a mano. Por favor dime si hay algún error.


1 Los idiomas cuentan como diferentes si no son versiones diferentes del mismo idioma, por lo que solo hay un JavaScript, un Python y un TI-BASIC, pero C, C ++, Octave y MATLAB son cuatro idiomas diferentes.

2 Si resuelve la tarea n usando el lenguaje L en x bytes, otra persona resuelve la misma tarea en el mismo idioma con el mismo número de bytes, cambia al idioma M y revierte su edición, el otro respondedor mantendrá el punto de bonificación.

3 El número de puntos obtenidos de las reglas de puntuación 1, 2 y 3 (en ese orden), el recuento combinado de bytes de todas las tareas resueltas (menor es mejor) y, finalmente, el conteo de votos (mayor es mejor) sirven como desempate.


66
Para aclarar, ¿este desafío se limita a aquellos que saben al menos 10 idiomas? Estoy pidiendo ... un amigo ...
vijrox

2
@VijayRamamurthy: no tienes que resolver todas las tareas para participar, así que si solo resuelves una tarea, solo necesitas saber un idioma.
Alex A.

2
@JoeZ .: Tuvimos algunos desafíos de 9 hoyos aquí, pero esos anotaron entradas por la cantidad combinada de bytes. No es que mi puntaje esté relacionado de alguna manera con el puntaje de los decatlones, pero quería dejar en claro que este es un tipo diferente de desafío.
Dennis

44
@lolesque: Ese sería un desafío estándar de golf de código. El punto aquí es usar un lenguaje diferente para cada tarea.
Dennis

3
@NotthatCharles: le pregunté a Gregory y él dijo el 1 de enero.
Dennis

Respuestas:


5

Tarea 1, GolfScript, 8 bytes

~,{+}*.*

La misma idea que la respuesta de Martin CJam .


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

Probado en QB64 con la expansión de sintaxis desactivada. 1 La mayor parte del programa prueba si el número dado aes primo tomando amod cada número 2 <= i< ay multiplicando los resultados. El resultado es que res 0 si el número no es primo y de lo contrario no es cero. La última línea usa bit ANDa bit con división entera por 2 para verificar si la representación binaria de aes todos unos, aes decir, tiene la forma 2 n -1. Multiplicando esto por r0 da (falso) si un número no es un primo de Mersenne y algún valor distinto de cero (verdad) de lo contrario. ?es un acceso directo para PRINT.

El primer Mersenne más grande que probé, 8191, da el resultado de 1.#INF... ¡que todavía es verdad! (Lo verifiqué con una IFdeclaración para asegurarme).

1 Esto no cambia la semántica del programa. Si escribe el código anterior en el QBasic estándar de DOS, se formateará automáticamente con espacios adicionales, pero se ejecutará exactamente igual.


Tarea 3, Pyth, 6 bytes

ehc2SQ

Lee una lista de estilo Python de stdin. La magia principal aquí es el coperador de salto: dado un int y una lista, divide la lista en n partes. Entonces c2SQcorta la lista de entradas ordenadas a la mitad. Convenientemente, cuando la longitud es impar, la primera mitad es la más grande, por lo que la mediana es siempre el último elemento de la primera mitad. Este es el end de la head de los resultados de corte.


Tarea 4, CJam, 26 bytes

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

Esto podría acortarse, sospecho.

Algoritmo:

  • Leer entero.
  • Hacer mientras el valor no es 0:
    • Tomar abdominales (i% 2). Este es el siguiente dígito (¿negabit?).
    • Divide i entre -2.
    • Si no fuera positivo, agregue abs (i% 2) al resultado. Esto es para corregir un caso de esquina: 3 va a -1, pero -3 debe ir a 2, no a 1.
  • Suelta el 0 superfluo, recoge la pila en una matriz, invierte e imprime.

El hecho de que sea un bucle do-while se encarga del caso 0.


Tarea 5, Bash, 50 bytes

echo pneumonoultramicroscopicsilicovolcanoconiosis

No hay mucho que explicar.


Tarea 6, Python, 78 bytes

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

Requiere Python 2. Los operadores de desigualdad de encadenamiento de Python se pueden explotar muy bien aquí.


Tarea 7, ActionScript, 82 bytes

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

ActionScript es miembro de la familia ECMAScript. Este código requiere ActionScript 2, ¡mucho mejor para el golf de código porque uso funciones obsoletas como en chrlugar de la versión 3 String.fromCharCode!

La salida es al panel de la consola:

Tarea 7 captura de pantalla


Tarea 8, Pip, 9 19 bytes

La solución regex no funcionó, así que aquí hay una con operaciones de cadena.

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

Repositorio de Github para Pip .

Toma las dos cadenas como argumentos de línea de comandos. Cuando aes una subsecuencia, genera un entero positivo (verdad); de lo contrario, el resultado es nulo (falso), que no produce salida.

Explicación:

                     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

Tarea 9, Prólogo (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.

Prolog no suele ser nada competitivo en el golf de código, por lo que estoy bastante contento con esta solución.

Define un predicado m con parámetros de entrada Lpara la lista y Npara el número y el parámetro de salida R. La definición de mes una triple disyunción:

  • Si Lse puede unificar con [H|T], es una lista con al menos un elemento. Llame de forma mrecursiva al principio y al final de esa lista, y vuelva a unir los resultados en una nueva lista unificada con R.
  • Si Lse puede unificar con [], unifique Rcon []también.
  • De lo contrario, Lse supone que es un número; L*Nse calcula y se asigna a R.

Ejemplo ejecutado usando swiplUbuntu:

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

Tarea 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);}

Probado con gccen Ubuntu. Define una función tque toma un argumento entero. Utiliza tres forbucles para la salida, muy condensados ​​a través del abuso macro. El uso del carácter de retroceso para borrar un ~resultado final en un patrón de espacio en blanco bastante extraño, peroThe output may be surrounded by any amount of whitespace as long as it looks like in the example.

Ejemplo de ejecución de t(3):

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

 ______   ______   ______
|      | |      | |      |
 ()--() ~ ()--() ~ ()--() dlosc@dlosc:~/golf$

Desafortunadamente, su código para la tarea 8 se identifica a.ccomo una subsecuencia de abc.
Dennis

@ Dennis Eso es lamentable. (Buena captura, sin embargo, gracias.) Solucionado, a un costo de 10 bytes.
DLosc

17

¡Huzzah, primero en completar todas las tareas! \ o /

Tarea 1, Perl, 32 bytes

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

+1 byte para la -pbandera. Comentario: Perl es raro .


Tarea 2, CJam, 14 bytes

{_mp\)2mL_i=&}

Mi primer programa CJam!


Tarea 3, GolfScript, 8 bytes

~$.,(2/=

Evalúe la entrada STDIN, ordene, tome la longitud, disminuya, divida por dos, luego tome el elemento de la matriz ordenada en ese índice.


Tarea 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

Gracias a @ mbomb007 por reducir 24 (!) Bytes, y a @ Sp3000 por otros 11.


Tarea 5, Java, 66 bytes

String f(){return"pneumonoultramicroscopicsilicovolcanoconiosis";}

Aburrido. Eliminé un lenguaje detallado aquí para dejar espacio para los idiomas más golfistas más adelante.


Tarea 6, Bash, 39 bytes

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

Gracias a @manatwork por enseñarme acerca de cómo recortar %j10 bytes en el proceso.


Tarea 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})

Genere una cadena de 64 x's, luego reemplácelos con una función de devolución de llamada que devuelva uno aleatorio de esos caracteres si aún no está en la matriz de caracteres utilizados.


Tarea 8, óxido, 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}

Sí, Rust es muy, muy malo en el golf.


Tarea 9, Avestruz, 18 bytes

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

Versión 0.7.0 . Inspecciona la matriz, realiza una sustitución de expresiones regulares para cambiar los números a sus versiones multiplicadas y luego evalúa la cadena resultante nuevamente.


Tarea 10, Ruby, 58 bytes

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

"\n"es un carácter más largo que "{actual newline}", que es un carácter más largo que $/. Gracias a @ MartinBüttner por eliminar {bytes indeterminados pero grandes} con varios trucos de magia negra.


Tarea 6 - $(…)`…`.
manatwork

@manatwork Gracias, editado.
Pomo de la puerta

Pensando de nuevo, (absorción de cafeína en progreso ...), ¿por qué ese largo formato% D? [ `date +%j` = 001 ]O incluso ((`date +%j`<2)). (Suponiendo que GNU date, que ciertamente admite el formato “% j día del año (001..366)”.)
manatwork

@manatwork Ooh, muy bien. Gracias de nuevo, agregó para responder.
Pomo de la puerta

La Tarea 4 se puede acortar usando ((num + 0xAAAAAAAA) ^ 0xAAAAAAAA) alg.
Jacob

15

Tarea 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

Toma entrada a través de un punto de código, por ejemplo, el espacio es 32.

Afortunadamente, todas las operaciones que necesitamos para implementar la fórmula n^2 (n-1)^2 / 4son caracteres únicos (decremento, multiplicación y cuadratura), sin embargo, se necesitan 3 bytes para establecer B2 (restablecimiento-incremento-incremento).


Tarea 2, Retina, 38 33 bytes

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

( Repositorio de Github para Retina )

Cada línea va en un archivo separado, pero puede probar lo anterior como está con la -sbandera (reemplazando <empty>con nada). La entrada debe ser unaria con 1s, por ejemplo, 1111111para 7.

Esto es lo que hace cada sustitución de expresiones regulares (especificada por un par de líneas):

  1. Agregue 1 extra al frente
  2. Reemplace cualquier cosa de la forma 2, 1 + compositeo not power of 2con nada.

Esto agrega un extra 1a los primos de Mersenne, mientras que todos los demás números se borran.


Tarea 3, Raqueta, 71 bytes

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

Los lenguajes parecidos a Lisp son demasiado verbales. Ejemplo de ejecución:

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

Tarea 4,> <>, 31 bytes

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

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

Lo anterior es de 28 bytes y requiere el -vindicador en el intérprete de Python para otros 3 bytes , por ejemplo, ejecutar como

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

Lo bueno de> <> aquí es que podemos calcular los dígitos uno por uno a través del módulo y la división, lo que da los dígitos en orden inverso, perfecto para imprimir una pila.


Tarea 5, paréntesis, 1448 1386 bytes

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

( Repositorio de Github para Parenthetic )

Tengo una respuesta CJam para esto que es más corta que la cadena en sí, pero no puedo usarla, así que pensé que iría para el otro lado.

Código generador 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))

Aquí está el código similar a 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 estaba bien anular definenombrando gcomo ()(), lo que ahorró muchos bytes.


Tarea 6, CJam, 26 bytes

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

Comprueba que la [month day]parte de la matriz de hora local es menor que [1, 2].


Tarea 7, Python, 73 bytes

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

Solo una implementación sencilla de Python 3.


Tarea 8, Preludio, 46 41 bytes

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

( Página wiki de Esolang para Preludio )

Creo que esto funciona, probablemente todavía es golfable, pero es la primera vez que hago un golf no trivial en Prelude. El formato de entrada es <needle>NUL<haystack>, donde NULestá 0x00. Esto funciona mejor con NUMERIC_OUTPUT = Trueel intérprete de Python, ya que eso lo hará salir 1o 0según corresponda.

Elegí Prelude porque hay dos propiedades que lo hacen muy agradable para esta tarea:

  • Está basado en la pila, por lo que primero puede leer en la aguja, luego procesar el pajar un char a la vez, y
  • La pila de Prelude tiene un número infinito de 0 en la parte inferior, por lo que no necesita manejar el caso donde la aguja se queda sin caracteres.

Esto hubiera sido aún mejor si Prelude tuviera un operador NOT.

Aquí está el desglose:

?(?)#    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 gracias a @ MartinBüttner)


Tarea 9, Mathematica, 4 bytes

#2#&

Algo así 2 {{0, 1}, {1, 0}}es implícitamente la multiplicación en Mathematica, por lo que esto pone los argumentos uno al lado del otro.

Como lo señalaron @MartinButtner y @alephalpha , 1##&hay otra respuesta de 4 bytes. Ver el primero para una explicación.


Tarea 10, Carril, 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 )

No podía dejar pasar la oportunidad de hacer una tarea relacionada con el tren en Rail :) El espacio en blanco parece bastante fácil de jugar, pero con la ramificación que ocupa tres líneas, se necesitará un poco de trabajo para compactar.

La entrada es un número entero a través de STDIN, pero debe haber un EOF. La parte superior izquierda

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

es un bucle atoi que convierte la entrada en un número entero sin EOF (verificado por la einstrucción).

La función fen las últimas tres líneas toma x, y, ny genera los x ntiempos de cadena , separados por y. La función es recursiva, con una ndisminución de uno cada vez hasta que se convierte en cero. fse llama tres veces, proporcionando diferentes cadenas para cada fila. Extrañamente, Rail permite que los nombres de las variables estén vacíos, lo que ahorra algunos bytes.

Desafortunadamente, la mayoría de los bytes provienen (!x!), lo que muestra la parte superior de la pila y lo asigna a variable x, y (x)que empuja xa la pila. Esto es necesario porque no hay un operador duplicado en Rail, por lo que (!x!)(x)(x)es la única forma de copiar la parte superior de la pila.


Si la tarea 2 estuviera en rs, ahorraría 2 bytes, y costaría solo 14 bytes tomar números en lugar de unario. ;)
kirbyfan64sos

Cuando vi raqueta, pensé que te gustaban los paréntesis; pero entre paréntesis ...
bunyaCloven

13

Tarea 1, CJam, 7 bytes

q~,:+_*

Solo quería obtener la solución (presumiblemente) óptima de CJam para esto. Utiliza el hecho de que la suma de los primeros n cubos es el cuadrado del enésimo número triangular, que es en sí la suma de los primeros n enteros.

Pruébalo aquí.


Tarea 4, Fisión, 173 88 78 69 68 bytes

Repositorio de GitHub para Fission.

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

Mi segundo programa de fisión razonablemente complicado. :)

El formato de entrada es un poco raro. Para admitir entradas negativas, se espera que el primer carácter sea +o -indique el signo. El valor del byte del segundo carácter es la magnitud de la entrada (ya que Fission no puede leer enteros decimales de forma nativa). Entonces, si lo desea 111, lo pasaría +oen STDIN. Y si quieres -56lo pasas -8. En lugar de +y -puede usar cualquier carácter con un código de carácter inferior o superior, respectivamente. Esto puede ser útil para pasar en algo así como -n(que su echotratamiento puede ser que un argumento) como, por ejemplo, 0n.

Veamos cómo podemos encontrar la representación negabinaria de un número positivo. Queremos calcular el número del bit menos significativo al más significativo (empujaremos esos bits en una pila e imprimiremos todos al final para obtenerlos en el orden correcto). El primer dígito es la paridad del número, y dividimos el número por 2 para continuar el procesamiento. El siguiente dígito ahora es negativo (con valor -2), pero debe tenerse en cuenta que este bit se establecerá siempre que el bit 2 se establezca en un número binario normal. La única diferencia es que necesitamos contrarrestar el -2 con dígitos positivos de mayor valor. Entonces, lo que hacemos es esto:

  • Determinamos la paridad nuevamente, este es el próximo negabit, y dividimos entre 2 como antes.
  • Si ese dígito era un 1, incrementamos el número restante en 1 para contrarrestar el bit negativo (la diferencia entre un negabit y un bit es una vez el valor del siguiente bit más significativo).

Una gran simplificación de los resultados de código de darse cuenta de que la adición de condicionalmente uno aquí es equivalente al redondeo del número hasta cuando entero dividiendo (si el bit descartado era 1, incrementamos el resultado entero-dividido por 1).

Entonces, el siguiente bit es solo un valor positivo nuevamente para que podamos determinarlo normalmente. Eso significa que queremos un bucle que calcule dos bits a la vez, alternando entre redondear hacia arriba y hacia abajo para el número restante, pero queremos ingresar el bucle en el medio, por lo que comenzamos con el redondeo hacia abajo.

¿Cómo podemos manejar enteros negativos? El problema es que Fission realmente no puede hacer aritmética arbitraria en enteros negativos, porque las masas siempre son no negativas. Entonces, uno tendría que hacer algo realmente complicado, como trabajar con la magnitud y hacer un seguimiento de la señal en otro lugar. Sin embargo, la representación negabinaria de un número negativo se puede calcular en función de un número positivo relacionado:

Si n es negativo, calcule la representación negabinaria de n / 2 (redondeado hacia arriba ) y agregue la paridad de n .

Este es exactamente el primer paso de nuestro bucle de dos bits. Entonces, todo lo que tenemos que hacer es iniciar el ciclo en un punto diferente si el signo es negativo.

La mayoría de los ahorros de los 173 bytes originales provienen de estas ideas que me permitieron comprimir tres verificaciones de paridad y un bucle de dos secciones en un solo bucle con una sola verificación de paridad.

Esta publicación será demasiado larga si explico todo el código en detalle, pero señalaré algunas secciones para proporcionar el diseño aproximado del flujo de control, y puede descifrar los detalles con la referencia de Fisión.

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

A partir de D, esto lee un bit de signo en la energía y la magnitud en la masa de un átomo que termina en [(yendo hacia la derecha). Este bit de signo se alternará después de cada pasada a través de la verificación de paridad y determinará si retenemos la mitad redondeada hacia abajo o hacia arriba de la entrada del bucle.

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

Este es el ciclo que calcula los bits individuales y alimenta la mitad correcta en la siguiente iteración. Los Sy Jse usan para crear una copia de la mitad derecha basada en el bit de signo actual, los Xs hacen la copia. La >esquina superior derecha calcula el bit real que luego se envía a la pila Kpara recuperarlo más tarde. Creo que el diseño de la esquina superior derecha es bastante ingenioso y definitivamente vale la pena estudiarlo en detalle si estás interesado en Fission.

El %es un interruptor que retroalimenta el número al bucle siempre que sea mayor que 0.

    O


 M~\
 K/W%

 \{\/
0'A Y

Una vez que el número llega a 0, se refleja hacia abajo. Esto inicia otro ciclo que recupera los bits de la pila, los agrega al código de caracteres 0y los imprime O. El programa termina una vez que la pila está vacía, porque el átomo de control terminará siendo empujado sobre la pila (y luego no quedan más átomos en movimiento).


Tarea 5, Preludio, 219 179 96 bytes

Página de Esolangs para Preludio.

Intérprete de fragmentos de pila para Prelude.

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

Esto comenzó como un programa Preludio estándar de salida fija hecho a mano con tres voces. Después de conversar con Sp3000, decidí probar con una sola voz. Resultó que esto funcionó bastante bien, porque es mucho más fácil reutilizar letras antiguas. Entonces Dennis me dio algunas pistas y encontré la versión actual: la idea es empujar todos los desplazamientos de la letra ha la pila de una sola voz en orden inverso, y luego imprimirlos uno a la vez en un bucle. hse elige porque no hay hen la cadena (lo cual es importante; de ​​lo contrario, el 0desplazamiento terminaría el ciclo) y porque minimiza la codificación de los desplazamientos en términos de desplazamientos negativos y de dos dígitos.

La codificación offset se generó con este script CJam .


Tarea 8, Mathematica, 28 bytes

LongestCommonSequence@##==#&

Yay para empotrados. (El nombre de Mathematica es un poco extraño aquí ... LongestCommonSubsequenceencuentra la subcadena común más larga mientras LongestCommonSequenceencuentra la subsecuencia común más larga ).


Tarea 9, J, 1 byte

*

Igual que las respuestas APL y K, pero parece que nadie ha tomado J todavía.


Tarea 10, Retina, 67 60 bytes

Repositorio de GitHub para Retina.

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

Cada línea va en un archivo separado y <LF>debe reemplazarse con un carácter de nueva línea y <empty>debe ser un archivo vacío. También puede poner todo esto en un solo archivo y usar la -sopción, pero eso no permite incrustar caracteres de nueva línea en lugar de <LF>todavía. Podrías emular eso haciendo algo como

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

Como muestra el ejemplo anterior, se espera que la entrada sea unaria. La idea del código es crear tres copias de la entrada unaria (menos 1), cada una con una copia de la línea correspondiente. Luego, repetidamente repetimos los últimos nueve caracteres delante de a 1hasta que todos los 1s hayan desaparecido, repitiendo las líneas según sea necesario. Finalmente, eliminamos el arrastre extraño ~.


10

Eh, comenzaré con una pareja, supongo. Primera vez jugando al golf.

Tarea 1, Python, 38 21 bytes

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

Suma una lista de todos los cubos hasta x. Expresión cambiada gracias a xnor

Tarea 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

No estoy 100% seguro en este caso, se probará cuando encuentre baterías nuevas para mi calculadora. isPrime es un incorporado, ipart es parte entera (2.3 -> 2)

Tarea 3, Perl, 45 34 bytes

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

archivo perl 1 2 3 4 -> 2. Guardado un par de bytes gracias a @nutki. Impreso en lugar de guardar en variable y luego imprimir variable.

Tarea 4, Ruby, 43 40 bytes

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

Al menos funciona en 1.9, no sé acerca de 1.8. En binario, '10' * 16 (o 2863311530) más un número, xor con ese 10101010 ... es el negbinary. Emite una representación de cadena con comillas (3 -> "111" en lugar de 3 -> 111). No puedo encontrar matemáticas para escribir x en menos caracteres.

Tarea 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

Prueba en línea aquí. Piensa que esto es lo más breve posible. Golfé tanto como pude. Guardado 300 bytes, entonces ¿dónde?

Tarea 6, bash, 62 50 40 bytes

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

Descubrí aproximadamente% j de otra publicación.

Tarea 10, Befunge-98, 121 bytes

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

Cambiado a befunge-98. El antiguo era Befunge-93, 227157147 bytes. Hongos usados , escritos en Haskell para pruebas. Usé "do multiple times k" y agregué caracteres individuales a la pila con '. Tengo la sensación de que puede reducirse a 110 o menos, pero ya he pasado demasiado tiempo en esto ...


@Dennis ya que no puedo preguntar en la publicación principal, preguntaré aquí. ¿La entrada separada por espacios está bien para la tarea 3? No estará en [].
Jacob

Lo que se adapte a tus necesidades.
Dennis

1
Puede acortar la suma de cubos con la fórmula comolambda n:(n*n-n)**2/4
xnor

Puede usar 0=fPart(expression) rather than iPart (expresión) = expresión` en su respuesta BÁSICA TI-89.
lirtosiast

1
Creo que ese argumento no funciona bien cuando se habla de algo como Python 2/3. Por ejemplo, `n` funciona mejor que str (n) en 2, pero no funciona en 3. No puedo pensar en otros ejemplos en este momento, estoy más preocupado por el golf que antes de responder más: p
Jacob

9

Primero: la tarea 6 técnicamente NO cuenta; Subí unc hace menos de una hora. Sin embargo, casi lo subí esta mañana, pero primero decidí escribir un conjunto de pruebas. Idiota.

Entonces, de todos modos, aquí va!

Tenga en cuenta que la mayoría de las cosas inc están intencionalmente al revés, por lo que &&realmente significa ||y tal, por eso algunas operaciones se ven raras (por ejemplo, usar -para calcular el cubo).

Tarea 1, Haskell, 21 bytes

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

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

Tarea 3, Dart, 37 bytes

Mi primera función Dart!

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

Tarea 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

Tarea 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#']:>>

Tarea 8, rs, 42 bytes

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

Demo en vivo.

Tarea 10, Pyth, 46 bytes

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

Demo en vivo.


@Dennis Oops! ¡Fijo!
kirbyfan64sos

1
Bueno, no sé unc, pero estoy bastante seguro de que no necesitas uno de los !includes. Sin embargo, no estoy completamente seguro de cuál.
Dennis

@Dennis La primera inclusión es stdio.h, la segunda es time.h. Necesito ambos.
kirbyfan64sos

¿Qué uncutiliza para compilar el código C? GCC funcionará bien sin él stdio.h. No estoy seguro time.h.
Dennis

@Dennis unc no tiene un compilador establecido. Simplemente emite código C; Tengo que compilarlo yo mismo. Sin embargo, eso tiene sentido; Lo comprobaré más tarde.
kirbyfan64sos

8

Tarea 1, APL, 7 bytes

+/3*⍨⍳⎕

Puede probarlo en línea usando ngn / apl, aunque funcionará con cualquier implementación de APL que tenga por defecto un origen de índice 0.

Esto divide cada número entero de 0 a la entrada ( ⍳⎕) -1 conmutando ( ) los argumentos al operador de potencia ( *). El vector resultante se reduce sumando ( +/) y se devuelve un escalar.


Tarea 2, Julia, 42 bytes

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

Esto crea una función anónima que acepta como entero como entrada y devuelve un booleano. Para llamarlo, dale un nombre, por ejemplo f=n->....

Primero usamos la función incorporada de Julia isprimepara verificar si nes primo. Si es así, verificamos que log2(n+1)sea ​​un número entero. Si es así, nse puede escribir como 2^k-1para algunos k, y por lo tanto nes un primo de Mersenne.


Tarea 3, ELI , 19 bytes

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

Esto crea una mónada fque devuelve la mediana del vector de entrada.

Ungolfed + explicación:

{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)
]}

Ejemplos:

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

Tarea 4, octava, 39 bytes

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

Esto crea un identificador de función que acepta un entero como entrada y devuelve la cadena negabinaria asociada. Para llamarlo, asígnele un nombre, por ejemplo f=@..., y ejecute con feval(f, <input>).

Puedes probarlo en línea .


Tarea 5, CJam, 47 bytes

"pneumonoultramicroscopicsilicovolcanoconiosis"

La cadena simplemente se imprime en STDOUT. Puede probarlo en línea si se siente tan inclinado.


Tarea 6, lote de Windows, 46 bytes

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

La variable %date%contiene la fecha actual en el formulario Thu 06/25/2015. Podemos seleccionar el mes y día por conseguir la subcadena de longitud 5 después de saltarse los primeros 4 caracteres: %date:~4,5%. A partir de ahí, solo verificamos si es el 1 de enero y decimos feliz año nuevo si es así.


Tarea 7, Pyth, 26 bytes

=Gr13312 19895FNU64pC.(.SG

Primero asignamos Gal rango 13312 hasta 19894 inclusive. Luego hacemos un bucle 64 veces, y en cada iteración barajamos G( .SG), eliminamos y devolvemos el último elemento ( .() e imprimimos su representación de caracteres ( pC).

Puedes probarlo en línea .


Tarea 8, Ruby, 36 bytes

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

Esto define una función fque acepta dos cadenas ay bdónde aestá la cadena para encontrar dentro b.

Todo menos los caracteres en ase eliminan del buso .tr()y verificamos si el resultado contiene aexactamente el uso []. Esto devolverá nilsi no se encuentra la cadena, por lo que podemos obtener un valor booleano mediante el uso !de .nil?.


Tarea 9, R, 16 bytes

function(x,n)n*x

Esto crea un objeto de función sin nombre que acepta cualquier tipo de matriz o matriz xy un número entero ny multiplica cada elemento de xpor n. Si lo desea, puede probarlo en línea .


Tarea 10, Python 3, 92 bytes

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

Muy claro. Puedes probarlo en línea .


La respuesta APL no es del todo de 7 bytes, ya que hay tres caracteres Unicode en rangos más altos.
Tom

66
@ Tom: cada respuesta puede elegir la codificación más conveniente. En la página de códigos APL , un carácter es un byte.
Dennis

Puede probarlo en línea si se siente tan inclinado :-D
Luis Mendo

7

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

::*-:*4,n;

Ejecute esto usando el intérprete oficial de Python usando la -vbandera (a un costo de 3 bytes). Esto cuadra la cantidad (n - n*n)y divide por 4, que por supuesto es equivalente a cuadrar (n*n - n)y dividir por 4.

Tarea 2, GAP, 63 62 bytes

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

(Ahorró un espacio escribiendo la igualdad al revés).

Tarea 3, R, 43 39 bytes

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

Gracias a Plannapus por la buena mejora!

Tarea 4, Piet, 155 135 115 5 * 19 = 95 CODELs

ingrese la descripción de la imagen aquí

Pruebe usando este intérprete en línea , con tamaño de códec 13. O use su intérprete preferido - ¡avíseme si tiene uno que le guste!

Hacer que salga en 0lugar de la cadena vacía para la entrada 0fue inconveniente. Usé un si-entonces cerca del principio para encargarme de este caso; luego un ciclo while para calcular los dígitos en el caso distinto de cero, y finalmente otro ciclo while al final para generar los dígitos de la pila.

¡Muchas gracias a Sp3000 por algunos comentarios muy útiles, que me ayudaron a guardar algunos codeles!

Tarea 5, Lua, 52 bytes

print"pneumonoultramicroscopicsilicovolcanoconiosis"

Puedes probarlo aquí .

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

Si el producto del día y el mes es 1, imprima el mensaje; de lo contrario, nada. (El día de Año Nuevo es particularmente conveniente para este diseño: dado que el resultado que estamos buscando es 1, solo necesitamos una ordeclaración. La declaración nth orespecifica el comportamiento del valor n).

Nota: a mi versión anterior le faltaba el retorno de línea, lo cual fue un error. (Intenté probar esta función, pero realmente probarla correctamente podría llevar un tiempo ...)

Mi versión original usaba el calcpaquete, que era mucho más conveniente que mi versión actual. ¡Algo a tener en cuenta para la "vida real"!

Tarea 7, Ruby, 62 bytes

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

Tarea 8, JavaScript, 78 bytes

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

Solución recursiva, probando si les una subcadena de m. Si lestá vacío, entonces los !lresultados truey la función termina. (En este caso, l[0]no está definido, pero JavaScript está bien con eso). De lo contrario, busca la primera instancia de l[0]in m. Si no encuentra uno, entonces m.indexOf(l[0])da como resultado -1y así uresulta 0y la función termina.

De lo contrario, elimina la primera entrada ly las primeras uentradas de my continúa comprobando.

Tarea 9, Python, 72 60 bytes

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

Profundiza hasta el "nivel más bajo", donde aya no hay una lista, solo un número entero, luego lleva a cabo la multiplicación.

¡Muchas gracias a Dennis por salvarme 12 bytes!

Tarea 10, Groovy, 81 bytes

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

Probarlo aquí . Originalmente intenté implementar algo como el .join()método de Python para cadenas, que combina cadenas con una "cadena de enlace" particular (como los enlaces entre vagones de tren). Pero eso costó mucho más de lo que ahorró.

Espero no haber topado con ninguna convención para obtener respuestas aceptables en estos idiomas, pero avíseme si la tengo.

¡Gracias a Dennis por un fantástico desafío!


except:return n*aguarda algunos bytes para la tarea 9. Para la tarea 1, contaría el -vindicador como un byte.
Dennis

@ Dennis Ver esta meta publicación . Aunque, en esta meta publicación , probablemente pueda reemplazar el -vindicador con i(aunque creo que sería bueno si se mencionaran ambas versiones, para una prueba más fácil).
Sp3000

@ Dennis, ¡muchas gracias por su mejora inteligente!
Mathmandan

1
3 bytes es correcta por el poste meta anteriormente (espacio, -, v). Solo quise decir que tiene la opción de tomar la entrada como un punto de código a través de las iinstrucciones.
Sp3000

1
por cierto, para el n. ° 4, el módulo negativo no es tan extraño, solo varía de un idioma a otro (por ejemplo, Java lo hace de memoria). Una forma de generar toda la pila podría ser mantener algo en la parte inferior de la pila que sabe que no estará en la salida, y seguir imprimiendo caracteres mientras no sea ese carácter especial. Además, está PietCreator .
Sp3000

6

Tarea 1, Pyth, 5 bytes

s^R3Q

Toma el número de stdin. Gracias @Jakube por señalar lo inútil U.

Tarea 6, javascript, 56 bytes

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

Tarea 7, CJam, 16 bytes

6581,mr64<'㐀f+

Genera rango, baraja, elige los primeros 64 y asigna la suma del valor inicial y la conversión a carácter. 14 caracteres, 16 bytes.

Tarea 8, octava, 23 bytes

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

Define la función anónima.

Tarea 5, PHP, 45 bytes

pneumonoultramicroscopicsilicovolcanoconiosis

Sin compresión, solo impresiones.

Tarea 9, APL 1 byte

 ×

Lo mismo que la respuesta K.


@ Dennis Yo tampoco lo sé, solo busqué en Google y presenté esta respuesta sin probar :). Intentaré probar en un emulador ahora.
Maltysen

@Dennis oh tienes razón, promedia el 2 medio, bajando eso.
Maltysen

1
¿Qué haces con ese espacio .slice(4, 10)?
LegionMammal978

@Dennis derrrp. lo siento.
Maltysen

1
Solo hay una abreviatura de un mes que termina con "an", por lo que puede omitir la J cuando realice la prueba. (También sería significativamente más corto de hacer /an 01/.test(Date()).)
NinjaBearMonkey

6

Tarea 1, R, 21 19 bytes

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

Bastante sencillo. Entrada de STDIN.

Tarea 2, Perl, 40 66 bytes

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

Se agregó un corrector principal (reigax del corrector de números primos Abigails)

Tarea 3, PARI / GP, 24 22 bytes

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

La primera vez que toqué esto. Puede que tenga que aprender un poco más.

Tarea 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

Función de tabla en línea usando CTE recursivo. Muy grande, pero divertido de hacer.

Usar

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

Tarea 5, GAP, 48 bytes

"pneumonoultramicroscopicsilicovolcanoconiosis";

Tarea 6, Excel, 51 48 bytes

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

Gracias a @Bond por los 3 bytes.

Tarea 7, Python 2.6, 98 93 85 bytes

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

Esta es la primera vez que trato de hacer algo en Python, por lo que podría ser mucho mejor. Gracias @Dennis y @Jacob por los excelentes consejos

Tarea 8, TCL, 57 bytes

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

Es una pena que eliminar espacios en blanco mate esto

Tarea 9, Pike, 53 bytes

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

Una función que devuelve la matriz multiplicada.

Tarea 10, Powershell, 88 bytes

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

Una función Powershell. Creo que puedo acortarlo un poco, pero aquí está en este momento.

Y finalmente terminado :)


Puede guardar 4 bytes en la tarea 6: =IF(TEXT(NOW(),"md")="11","Happy New Year!","").
Bono

@Bond Gracias por eso
MickyT

Tampoco conozco Python, pero l[:63]debería funcionar y (13312,19894)es más corto que las constantes hexadecimales (y la suma).
Dennis

@Dennis Thanks lo probará y cambiará
MickyT

@Dennis Elegí 19893 como el valor más alto porque range(19892,0x4DB5+1)me dio[19892, 19893]
MickyT

4

Tarea 2, J, 10 bytes

1&p:*/@,#:

Antepone un booleano 0 o 1 si la entrada es primo para su representación binaria, luego toma el producto. Funciona en la versión actual de J.


Tarea 5, HTML, 45 bytes

pneumonoultramicroscopicsilicovolcanoconiosis

Tarea 6, pescado, 53 bytes

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

Basado en la respuesta bash.


Tarea 8, APL, 12 bytes

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

Esta es una expresión de función. Compara el orden de los caracteres encontrados en la cadena más grande con lo que se esperaría si se ordenaran.


Tarea 9, K, 1 byte

*

Debería funcionar en cualquier versión. Las operaciones aritméticas se distribuyen en matrices.


Los comentarios no son para discusión extendida; Esta conversación se ha movido al chat .
Martin Ender

2
Su código para la tarea 8 no funciona abc caxbxc.
jimmy23013

4

Tarea 1, Ruby, 40 bytes

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

Primera vez en escribir algo en Ruby. Probado con rubí 1.8.7.


Tarea 2, R, 50 bytes

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

Computa p, verifica si es un número entero y si nyp son números primos.


Tarea 5, PostgreSQL, 54 bytes

SELECT'pneumonoultramicroscopicsilicovolcanoconiosis';

Tarea 6, Lua, 55 bytes

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

Tarea 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

Tarea 10, Julia, 73 bytes

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

Gracias a @AlexA. por ayudar a acortar este código! Ejemplo de salidas:

julia> f(0)




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

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

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

Para la Tarea 2 podría usarlog2
MickyT

Cuento 86 bytes actualmente para su tarea 10 de Julia. Pero puede obtener 81 usando una función lambda (es decir, reemplazar f(n)=con n->) y cambiando 1:(9*n-1)a simplemente 1:9n-1.
Alex A.

Bien, conté \ncomo 1 bytes, por costumbre.
plannapus

En lugar de (" "*"_"^6*" ")^neso, puede usar " ______ "^n(también para la | |parte). 70 Bytes: n->print(" ______ "^n*"\n"*"| | "^n*"\n"*(" ()--() ~"^n)[1:9n-1]). (Sin embargo, el espacio en blanco entre las barras no se muestra aquí)
Alex A.

3

Tarea 1, Haskell, 17 bytes

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

Tarea 2, Mathematica, 30 bytes

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

Tarea 3, JavaScript, 46 bytes

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

Tarea 5, MATLAB, 47 bytes

'pneumonoultramicroscopicsilicovolcanoconiosis'

Tarea 6, Ruby, 56 bytes

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

Tarea 7, Python, 106 bytes (sangría con \t)

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

Recuerde que el uso directo de list(set(s))qué no trabaja aquí ya que esto provocará una distribución de probabilidad no uniforme en el espacio de todas las posibles cadenas debido a la reordenación de miembros de la lista.



@Dennis re tarea 7: acordado en el punto 1, se solucionará siempre que tenga la oportunidad. Con respecto a REPL, ¿hay una regla en contra de eso?
Saran

Bien, todo arreglado ahora.
Saran

Para 1, presumiblemente puedes hacer (x*x-x)^2/4?
xnor

De manera molesta, la función de clasificación predeterminada de JavaScript convierte los números en cadenas cuando se compara, por lo que solo compara el primer dígito de cada número. Por lo tanto, falla en [2,3,10].
NinjaBearMonkey

1
En 7, puedes poner if c not in s:s+=ctodo en una línea, ahorrando algunos caracteres. También 0x3400se puede reemplazar con 13312, que es un carácter más corto (y de manera similar para 0x4db5). Finalmente, no cambiará el número de caracteres, pero en caso de que no le guste la sangría de la pestaña, puede sangrar con un solo espacio.
Mathmandan

3

Tarea 1, Haskell, 15 bytes

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

Tarea 2, Julia, 28 bytes

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

Tarea 3, octava, 30 bytes

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

Tarea 5, Yacas , 45 bytes

pneumonoultramicroscopicsilicovolcanoconiosis

Tarea 6, Mathematica, 46 bytes

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

Tarea 9, PARI / GP, 10 bytes

(n,a)->n*a

3

Tarea 3, Clip, 13 bytes

gHk[tivt}l`sk

Otra version:

gHkci`v``l`sk

El `parecía costar demasiado.

Tarea 4, KSFTgolf, 16 bytes

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

El intérprete está aquí. No estoy seguro de lo que estoy haciendo ... Imprimirá el negabinario y luego se bloqueará.

Hay un error en el intérprete. O podré reducirlo a 12 bytes usando la conversión de base incorporada (pero solo funciona con enteros positivos):

2*02-ba'Z=;x

Versión original de CJam:

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

Intenté Pip, Avestruz, Clip y Burlesque para averiguar si hay un esolang con negabinary incorporado. Ninguno de ellos funcionó. Se utilizó KSFTgolf numpy, que parecía tener un comportamiento extraño y conveniente cuando la base es negativa. Pero no es fácil hacerlo funcionar con números no positivos.

Tarea 7, CJam, 15 bytes

'䶶,DAm<>mr64<

Tarea 8, APL, 21 bytes

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

Pruébalo en línea.


Lol @ "No estoy seguro de lo que estoy haciendo"
Alex A.

La pregunta no era muy clara al respecto, pero mi intención era que el código para la tarea 4 debería manejar la entrada 0. La versión sin conversión de base incorporada parece manejarlo bien.
Dennis

@Dennis Fixed. Pero, ¿qué pasa si elijo usar unario?
jimmy23013

Usar algún desplazamiento fijo o complemento de 2 podría funcionar. También aceptaría un signo seguido de un número unario.
Dennis

3

Tarea 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

(excluyendo encabezado, cuadro de mensaje, etc. - solo 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

Tarea 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]);}

Compilar usando gcc -o Prime main.c


Tarea 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);}

Compilar usando g++ -o Trucks main.cpp

C & C ++ se puede acortar pero agregaría un error del compilador. No conozco las reglas exactas, así que intenté dejar el código sin errores de compilación.


3
Bienvenido a PPCG! Las advertencias del compilador pueden ignorarse con seguridad, siempre que el compilador produzca un binario utilizable.
Dennis

2
En el código de golf, un compilador de C le advertirá que puede seguir jugando al golf sin producir una advertencia.
Comintern

Ignora las advertencias y siéntete libre de perder tanta memoria como desees también. :-)
Toby Speight

3

Tarea 1, Python, 35 bytes

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

Tarea 3, CJam, 9 bytes

q~$_,(2/=

Tarea 4, JavaScript, 55 53 bytes

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

Tarea 5, Pyth, 46 Bytes

"pneumonoultramicroscopicsilicovolcanoconiosis

Tarea 6, C #, 65 bytes

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

2

Tarea 1, jq, 24 bytes

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

Tarea 6, PostgreSQL, 54 bytes

select'Happy New Year!'where'001'=to_char(now(),'DDD')

2

Tarea 1, Cjam, 7 bytes

q~,:+_*

Editar: Acabo de notar que Martin publicó esto antes que yo. Intentaré otra cosa ...

Tarea 3, Python, 30 bytes

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

Python 2.

Tarea 5, ///, 45 bytes

pneumonoultramicroscopicsilicovolcanoconiosis

/// solo hará eco de algo sin ningún /carácter.

Tarea 7, Pyth, 19 bytes

s>64.SmC+13312d6582

Programa. Por favor, dime si arruiné las matemáticas. Pruébalo aquí

Tarea 9, octava, 9 bytes

@(a,n)a*n

Identificador anónimo de funciones. Octave hace esto automáticamente con matriz * escalar.


Para la tarea 7, tiene que ser único.
Maltysen

Sí, Pyth tiene .Sbarajadura, y puedes usar sum en lugar de jk.
Maltysen

2

No he encontrado tiempo para intentarlos todos, pero aquí hay un comienzo

Tarea 1, CC, 8 bytes

d1+*d*4/

Entrada y salida a la parte superior de la pila, según la dcconvención.

Tarea 5, Emacs Lisp, 46 bytes

'pneumonoultramicroscopicsilicovolcanoconiosis

Abuso de las reglas:

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

Lo mejor que pude manejar al desempacar de forma comprimida fue 55, en Perl:

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

(los caracteres no imprimibles anteriores son confusos por SE, pero como no es mi respuesta, no lo estoy arreglando)

Tarea 6, SQL, 54 bytes

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

Considero que los primeros diez días de enero son días "apropiados" para este saludo, pero puede adaptarse al gusto. La now() LIKEconstrucción funciona más corta que la extracción del día del año con DATE_FORMAT(now(),'%j').

Tarea 10, sed, 58 bytes

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

Entrada en unario.


strstrseches para subcadenas, no subsecuencias. Me temo que la tarea 5 es kolmogorov-complejidad, por lo que buscar la palabra de un diccionario puede ser inteligente, pero no está permitido.
Dennis

Gracias. No entendí bien la subsecuencia. Haré una tarea alternativa 5, pero es muy aburrida.
Toby Speight

Hay algunas soluciones interesantes para la tarea 5, pero hasta ahora nadie ha publicado una breve .
Dennis

1

Tarea 5, MarioGolf , 50 bytes

Este fue un lenguaje que desarrollé por algún tiempo.

La versión actual tiene suficiente funcionalidad para permitir ejecutar este desafío.

Y|<pneumonoultramicroscopicsilicovolcanoconiosis|O

Puede probarlo en línea en http://htmlpreview.github.io/?https://raw.githubusercontent.com/ismael-miguel/mariogolf/master/js/testpage.html#c:Y|<pneumonoultramicroscopicsilicovolcanoconiosis|O

Actualmente, el desarrollo se detiene y la implementación está incompleta.

El último compromiso fue el 13 de marzo de 2015.

Tarea 6, PHP, 37 bytes

¡Este es realmente fácil y divertido!

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

Tarea 10, Javascript, 121 byes

Sí, no tan golfizado ...

Pero hace el trabajo!

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

Intentalo:

El código no se mostrará bien en el fragmento de pila debido a que comienza "en la salida. Se agregaron espacios adicionales para compensarlo.

El código original se puede ejecutar en la consola de Chrome sin ningún problema, y ​​el resultado será el esperado.


@ Dennis Gracias! Leí mal la tarea 5. Todavía estoy viendo cómo implementaré las otras tareas, pero estoy pasando un mal momento.
Ismael Miguel

1
¿Estás seguro date(dM)? Aquí devuelve "25Jun". (configuración regional establecida en en_US) Quizás "j" y "n" servirían mejor, ya que "d" y "m" devuelven los valores 0 rellenados al ancho 2.
manatwork

@manatwork Tienes razón. Fue mi error. Que tú por ver eso.
Ismael Miguel


1

Tarea 1, octava, 15 bytes

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

EDITAR: pensé que agregué esto, pero parece que olvidé guardar: esto utiliza el hecho de que sum(1^3+2^3+3^3+...+n^3) = sum(1+2+3+...+n)^2 = [n*(n+1)/2]^2

Tarea 3, Javascript, 24 bytes

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

1

Bien, primero hagamos las cosas fáciles:

Tarea 5, ASP, 45 bytes

pneumonoultramicroscopicsilicovolcanoconiosis

Tarea 6, JavaScript, 46 bytes

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

1

Tarea 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

No tengo idea de cómo jugar golf en VBA. No escribí un solo espacio, VBA inserta automáticamente espacios en blanco. =f(5)en una celda en Excel mostrará 100.

Tarea 2, octava, 32 bytes

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

Tarea 5, Golfscript, 47 bytes

"pneumonoultramicroscopicsilicovolcanoconiosis"

Tarea 9, MATLAB, 9 bytes

@(A,n)A*n

Bueno, es un comienzo ...

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.