¡Ordena una lista y escribe algo de inglés!


99

Su jefe logró leer el mensaje secreto oculto . Sin embargo, no terminó despediéndote, solo te hizo secretaria y te prohibió escribir código.

Pero eres un programador. Necesitas escribir el código. Usted debe codificar.

Por lo tanto, su código debe ser lo más similar posible al inglés, tener sentido y tener el menor aspecto posible del código. Su código debe tomar una lista de enteros (ya sea en una función o STDIN) y devolver esa lista ordenada (devolviéndola o STDOUT).

Se puede usar cualquier idioma, pero estoy buscando la solución más creativa (felicitaciones si su código parece una carta comercial).

Este es un concurso de popularidad!


14
espacio en blanco al rescate?
kaine

19
O SPL .
Dennis

44
También pensé en SPL, pero Chef también puede ser divertido: P
Adriweb

@ Dennis Eso sería casi imposible de entender.
Isiah Meadows

Divertido ... ¡todavía no hay envíos de rubíes! : P
Gaurav Agarwal

Respuestas:


161

GolfScript

Querido hombre jefe.

Me llamó la atención que mi teclado necesita reemplazo; las teclas requeridas para escribir los
símbolos ~ $ `. y} no funcionan correctamente.

¡Es muy difícil trabajar así! Indique al departamento de TI que cambie el
teclado defectuoso lo antes posible.

Sinceramente,

Dennis

Pruébalo en línea!

Cómo funciona

  • Los tokens no definidos (por ejemplo, la mayoría de las palabras en inglés) son noops en GolfScript.

  • . ; duplica la cadena de entrada y descarta la copia.

  • ~ $ evalúa la cadena de entrada y ordena la matriz resultante.

  • ` inspecciona la matriz (para una impresión bonita).

  • . and duplica la cadena de salida y descarta la copia.

  • }es un "super comentario" ya que no tiene comparación; todo lo que sigue es ignorado.


111
¿Supongo que escribiste esto en tu otro teclado?
Geobits

13
¿Quizás lo escribió con el teclado del mouse oculto en el gaboodle de accesibilidad?
Tally

46
Es un comentario en línea ... es un comentario en bloque ... ¡es un SUPER COMENTARIO!
Pomo de la puerta

99
@Geobits: Supongamos que "no funciona correctamente" se traduce en "requiere múltiples intentos para finalmente obtener los caracteres en la pantalla"
apenas el

O usó el Mapa de caracteres.
dan04

111

PHP

Define una función llamada itemque ordenará una matriz que le pase.

Dear Boss,
I have successfully discovered all brackets.
The ones marked with question marks are the ones which I am not sure about.
The ones marked with asterisks can be used both as an opening and closing delimiter.
(
)
{
}
[
]
>?
<?
/*
'*
"*

Thank you for reading my memo. In other news, the */ function item (#12 in the list of things that have an asterisk before them) was discovered recently, which I read on a local news site.
#12 is my favorite function item! Just thought you'd be interested. Sorry if this is too off-topic; here's some business stuff. Imagine that you had some (let's say you have a combination of $10
& $money) # of dollars (i.e. you have $10 + $money). Now, here's the important part. It's so important, I'll separate it from the rest of this message with the brackets I discovered:

{
#10 in my personal list of things to remember about money management is that you have to be careful. I still haven't been able to
sort #9 out yet (I bought the manual from someone else), but #9 also seems to be about being careful. You also have to guard the dollars
($money); #13 says that if you don't protect them by putting them in a bank or something, they might be stolen.
}

   //-----------------------\\
  //   Signed,               \\
  //   Your great employee   \\
   //-----------------------\\

Se ve mucho mejor si lo pega en un editor de texto y cambia el tamaño de la ventana para que pueda ver todo en su pantalla a la vez.


118
"He descubierto con éxito todos los corchetes". ¡Alguien va por empleado del mes!
Martin Ender

20
-1: Te perdiste «y». (En serio, +1.)
Kevin

44
Wow hombre. : D No puedo parar de reír
Ven

70

Python 2

'''''''''''''''''''''''''''''''''''''''''''''
One of the phones in the office seems to be broken, so it needs to be fixed.

''''''''''''''''''''
This memo was made while testing the functionality of its buttons since
some of them didn't seem to work.
''''''''
1 (no alphabets) working with no problem
''''''''
abc working with no problem
'''''''''
def working (partially):
 please                                              =( 'o" :\
 at least I figured out that this was a problem!     :')
 # list (phone number list) was missing as well, so I need to:

 #1
 print (please, sorted (partially)) [1] # list, and [2] the memo
 #2
 return
 #3
 check (making-sure, ghi-jkl-etc. works)

''''''''''''''''''

44
A +1 le encanta cómo se coló defpara significar 'las letras de la tecla del teléfono 3'.
AJMansfield

68

Python 2

'''
                        5th of September 2014

Dear Boss,

I  am writing    this Mail because     i want to discuss  
 the recent   incident.
I am Thankful    that you did not fire   me, and gave me a secretary position instead.
I dont have any    experience in being a     sec retary and I am not very. good at   writing mail,
so please   excuse any spelling,   grammar or   formating   errors  in     this mail.

I will       certainly     try to improve  and do   my best in my new job      and will'''
'from now on strictly ';exec'''ute your orders.   =
Firstly      i want to    sincerly        apologize my   dumb behaviour,it was  idiotic ( and childish ).
I   really  ;apologize  to you. it  wont  .happen again, sir. If   i   could  
 only   reverse   the  timeline       (to undo it all). Then i would;
I   really   promise to never  write  code in any form

Can i talk about that   in   a   meeting with  you?
  Maybe    today at'''[4::15]#in the afternoon?

Encontrar las palabras correctas fue un verdadero dolor.

Entrada: [1,7,4,3]
Salida: [1,3,4,7]


48
Esto se parece a los correos electrónicos que recibo de Nigeria lol
Chris Cirefice

66
@ChrisCirefice Bueno, estos correos probablemente también contengan código oculto;) El espaciado y una redacción algo pobre en mi código se debe a que cada 15 caracteres de la cadena después del ejecutivo forma una nueva cadena que luego se ejecuta. Así que todo el programa es básicamenteexec"y=input();y.sort();print y"
Markuz

1
La '''cadena multilínea en la parte superior es un regalo muerto, lamentablemente, pero +1 para "a partir de ahora estrictamente '; exec' '' ute sus órdenes". y buen esfuerzo: p
Thomas

60

NetLogo

To Manager [IT]

Let Sue sort it; then
show Sue the end to the end

Con los cambios de sangría y capitalización, el código se vuelve claro (er). Esto define una función llamada managerque toma una lista como entrada e imprime la lista ordenada.

to manager [IT]
  let sue sort IT; then (semicolons introduce a comment)
  show sue
  the
end

to the
end

77
Definitivamente no se parece al código.
Dennis

1
Éste me gusta mucho.
Nathan Merrill

59

C

Entrada como lista separada por espacios a través de STDIN, salida como lista separada por espacios a través de STDOUT.

Dear Boss, 

I have made for you a decision about my employment a t your company. At about noon 
a letter explaining this shall be presented to you, as I am a lazy person. As you 
are a fool, I will say no more. And I look forward to never seeing you again.

Insincerely, 
Steward Pitt

Esto debe compilarse con:

gcc bossletter.c -o bossletter -Dam='+++' -Dwill='---' -Dthis='{' -Dhave=';' 
-Ddecision=',' -Dquit='*' -Dfor='(' -Dmy=')' -Dbrain='}' -Dlie=']' -Dnoon='-quit'
-DD='' -Dto='D' -Dyou='D' -Dfool='you' -Das='to' -Dday='D' -Dno='fool' -Dcake='Pitt'
-Dlook='you' -DPitt='the' -Dthe='as' -DBoss='a[9999 lie' -DAs='a have' -Dlazy='my' 
-Dperson='lazy have company' -Dyour='this' -DInsincerely='a' -Dcompany='b' 
-Demployment='int quit' -DDear='struct this employment a have brain b have' 
-Dbe='scanf for' -Dis='I[' -Dnever='for presented " " decision' -Dthat='4 decision' 
-Dagain="my have b" -Dt='decision quit about have' -Dshall='while for' 
-Dpresented='"%" to "d"' -Dletter='have brain' -DAt='a have return quit' 
-Dmore='have b' -DAnd='a have shall' -Dare='qsort for' -Dforward='--my printf' 
-Dexplaining='main for my' 
-Dsay='1 decision that made my day' 
-DSteward='Boss have no brain' 
-Dseeing='the cake is a lie'

El código se expande a:

struct{ int *a; } b;
a[9999], I;
made(a, about) int *a, *about; {
    b.a;
    return *about - *a; 
}
main(){
    while(scanf("%d", I++ + a));
    b.a;
    qsort(a, I-- - 1, 4, made);
    b.a;
    while(I--) printf("%d ", I[a]);
    b.a, a[9999];
}

41
+1 por abuso de preprocesador. Por supuesto, con ese tipo de cosas, podría decirse que se lee como cualquier pieza de código que desee.
esponjoso

12
Debería haber dado significado a las palabras clave y las variables y solo haber usado el preprocesador para caracteres especiales como llaves. Ni siquiera hiciste un esfuerzo.
bebe

3
@bebe cuanto más insolente sea el abuso, mejor, en mi humilde opinión :).

99
El siguiente codegolf es hacer que esta "fuente" compile una implementación del Juego de la vida de Conway. -D¡golf!
slebetman

2
@fluffy Me encanta el abuso del preprocesador en C. ofuscado. Puedes hacer casi cualquier cosa en él con un código C válido con suficiente #define/ -Ds.
Isiah Meadows

24

Python 2 y 3

Desafortunadamente, los empleados de hoy simplemente no pueden dejar de usar hashtags por todas partes ...

#WritingALetter #Business    Dear Boss,
#SecondLine    I found this scrap of paper on the floor. It said "

def sortl(l):        # define a function
    return sorted(l) # returns the list, sorted "

#ScrapOfPaper    Just thought I should let you know.
#Honesty    From Laurence

[¿Vale la pena intentarlo, supongo?]


20
Gran excusa para usar comentarios, pero desafortunadamente contiene código real

Añadir impresión "hola" al final
Anthony Pham

17

Brainfuck

Hey boss! This is the public key that you asked!

>,[[-[>>+<<-]>+>]<[<<]>,]+>[>+<-]>[>[>+<<->-]<[<<.>>-]<<[>>+<<-]>>+>>]

Pretty cool huh?

Nota de copyright:

Nota: Copio pegado desde aquí. Hasta donde yo sé, los códigos del sitio tienen copyright cc by-sa 3.0 con atribución. Si este método es ilegal, avíseme e intentaré eliminarlo.


44
"Su código debe verse tan poco como sea posible".
Sean Latham el

27
¡Es una clave pública para el cifrado! No codigo! ¡Diferente!
Realdeo

2
@Realdeo No olvides que en la segunda línea se leerán más aportes después de que se
ejecute

¡Buena atrapada! Editando
Realdeo

44
Con brainfuck debería ser mucho más fácil incorporar el código en texto plano. >por ejemplo, puede usarse para cotizaciones (así es como funciona en los correos electrónicos) y así sucesivamente.
Ingo Bürk

16

JavaScript

No estoy seguro si puedo burlarlo, ¡pero puedo sacarlo de mi camino!

/*Hello Bossman
I feel the need to alert you to a pressing matter.
Nothing Dan from Marketing's head seems to be */function/*ing anymore.
I have a lot of evidence, but not enough time to */sort/* through it.
Should I just send it to you directly */(/*although I'm sure you have about a thou*/s/*and other things to do*/)/*?
Nah, here's it in a summary:

Dan seems to be overly facinated by the */{/* key on his keyboard, and presses it many times a minute.
He */return/*ed his new Galaxy */s/*4, after trying to eat it, multiple times.*/.

/*When Dan was tasked to */sort/* through the Haberson account, he attempted to stab his computer multiple times with a ruler */(/*he was eventually deterred by Jenny)
Everyone backed off for a few days, but we all remembered.
Later, we approached him about the incident, he claimed hostile working conditions and that he was unable to */function(/*.
I think he m*/a/*y need to see a psychatrist.

None of us feel safe to approach him on the topic again*/, b/*rining up conflict is something most of us like to avoid. (except Jenny*/)
{/*Dan was then moved to a different spot in the building, in an attempt to give him a new environment.
Despite the move he */return/*ed to his old desk every day, and wrote */a - b/* on the walls of the new spot.
We all just sort of accepted that and the layout planner gave up after a week or two.

One week we got a new employee in the office. When she went to say Hi to Dan, he screamed a - b over and over.
Not sure what his fascination is there. b-c is a much superior algorithm.

We're not really sure what caused this, but one day he switched from the { key to the */}
/*key. Dan switched back the next day.

There is an ongoing betting pool on what will happen next (general categories mostly*/)
/*Currently the betting for him stabbing an actual person is at almost $20,000.

Please do something about Dan. If anything start a reality TV show from the security tapes.

On a completely unrelated note, I love this new */}/* key, it's really neat looking. Did my keyboard always have this?
Sincerely,
Zeke*/

function sort(s) { return s.sort(function(a,b) { return a-b }); }


15
El abuso de comentarios hace que esto sea más obvio.
Isiah Meadows

14

Dogescript

Básicamente es inglés, ¿verdad?

shh oooot! my  keyybr oad is brokn. i ne ed neew 1.
such fixs much keys
keys dose sort
wow keys

se traduce en:

// oooot! my keyybr oad is brokn. i ne ed neew 1. 
function fixs(keys) {
    keys.sort();
    return keys;
}

15
Creo que tu jefe te despedirá si escribes así ...
TuxCrafting

10

LiveScript

Intenta resolver esto ... Le he estado enviando correos electrónicos como este todo el tiempo para permitir copiar y pegar de manera más versátil.

# Mr. Boss,
#
#     So, I'm done with this job. It is driving
#     me crazy. We aren't allowed to have *any*
      fun =#(. I am planning on leaving this
#     company while you all poorly attempt to
#     sort all this out. Also, I would like to
#     mention that a specific single bit in the
       sort # for your in-house algorithm gets
#     inverted. Happy hunting while I have fun
#     programming for another company far more
#     grateful than yours.
#
# Best regards,
# Your handy little programmer-turned-secretary.

1. Su biblioteca estándar, Prelude.ls, tiene una función de clasificación nativa.
2. Tenga en cuenta los dos hashes faltantes (comentarios). El primero es mucho más obvio que el segundo.

Se analiza así: "diversión = ordenar", y compila a esto: "var diversión; diversión = ordenar;"


Por cierto, el resaltador de sintaxis es un error. Uno de los comentarios no se analiza correctamente.
Isiah Meadows

10

Desvío (no competidor; -;)

Dear Boss Man
I thought I had put your recovered files on drive z.
In reality it was downloaded to the main drive, C://users/boss/recovery. Sorry for the confusion!

Permalink Intérprete

Cómo funciona:

La única parte importante es ://, y la línea por encima de ella, z.. :significa "poner entrada aquí", el primero lo /refleja z, que es sort; luego sube, se envuelve en la parte superior, sigue subiendo desde la parte inferior, luego golpea /desde abajo, lo que rebota de izquierda a otra /, lo que hace lo mismo, excepto que esta vez se envuelve .o sale.

Versión simplificada:

Desvío

Dear Boss Man             
             z.
            ://

Pruébalo en línea!


5

JavaScript (ES6)

      (a) => /*----------*\ <= (a)
       |      Announcement      |
  .   (a)    \*----------*/    (a)   .

 sort (/* YOUR DOCUMENTS BEFORE 2/5 )*/

     ($,_) => /*--------*\ <= (_,$)
      |         Warnings         |
 //  (_-$)    \*--------*/    ($-_)  //

      /*( NO SMOKING IN OFFICE */)

Pruébalo en línea!

Sí, sé que al jefe le gustan las decoraciones elegantes en sus avisos, así que capitalicé los textos y los rodeé con símbolos elegantes :)

PD. ¿Por qué la oficina todavía usa TELNET?

En realidad, eliminar comentarios y espacios en blanco redundantes hace que todo se convierta (a)=>(a).sort(($,_)=>($-_)), y eso es lo que pretende; P


3

√ å ı ¥ ® Ï Ø ¿

Solo he leído la otra respuesta, pero sigo pensando que la mía es, con mucho, la mejor (no todos).

isolate quickly! Then read this short story: Funny Steve Jobs
. A Short Story
 by This Guy. Steve Jobs looked at the heavy stone in his hands and felt annoyed. He walked over to the window and reflected on his sunny surroundings. He had always loved nice Silicon Valley with its huge, hurt houses. It was a place that encouraged his tendency to feel annoyed. Then he saw something in the distance, or rather someone. It was the figure of Bill Gates. Bill was a happy monster with young heads and old feet. Steve gulped. He glanced at his own reflection. He was a funny, irritating, beer drinker with skinny heads and ginger feet. His friends saw him as an abundant, average angel. Once, he had even made a cup of tea for an unusual old lady. But not even a funny person who had once made a cup of tea for an unusual old lady, was prepared for what Bill had in store today. The sun shone like coding dogs, making Steve violent. As Steve stepped outside and Bill came closer, he could see the anxious smile on his face. Bill glared with all the wrath of 9230 stupid healthy humans. He said, in hushed tones, "I hate you and I want money." Steve looked back, even more violent and still fingering the heavy stone. "Bill, you stole my idea," he replied. They looked at each other with angry feelings, like two creepy, curried cats challenging at a very sad party, which had jazz music playing in the background and two annoying uncles doing to the beat. Steve regarded Bill's young heads and old feet. "I feel the same way!" revealed Steve with a delighted grin. Bill looked sad, his emotions blushing like a charming, cheerful computer. Then Bill came inside for a nice drink of beer. THE END

2

Maravilloso

'Dear Bossman,
I finally found the formula to calculate the salary for the new employees.
In the salary software just enter the following:'
print "${(args.toList()*.toInteger()).sort()}"'
Sincerely,
Employee'

13
Se supone que no debes escribir código. Eso es codigo.
Zach Mertes

77
Me gusta bastante este. Solo está ocultando el código a la vista.

44
LOL deberías poner "He encontrado la fórmula de Excel " entonces. Aunque estoy bastante familiarizado con Excel, la referencia nunca se me pasó por la cabeza.

55
@kuroineko Las fórmulas de Excel no tienen esa sintaxis programática, ¿verdad?
Little Child

3
8 votos a favor y 9 votos a favor? Guau; Esto es controvertido.
Ypnypn

2

05AB1E

Dear Boss‚

I hope I{qualify for this new function. I once again want to sincerely apologize for my earlier secret message.
Thank you for giving me the opportunity to work at this apartment instead.
I must admit it's hard to resist the urge to write code, but I'll do my best.

Thank you.

Kind regards from your new secretary,
Kevin Cruijssen

Pruébalo en línea. (TIO utiliza la versión heredada, que es un poco más rápida. Sin embargo, funciona igual que la nueva versión 05AB1E).

Explicación:

El código 05AB1E ignora las nuevas líneas y espacios fuera de las cadenas o cadenas / números comprimidos (excepto cuando se usa la instrucción (if-) else que acabo de descubrir en un intento anterior de hacer este programa ..>.>), Así que hagamos lo mismo en esta explicación

DearBossIhope # These are all no-ops; they do execute, but won't affect the output:
D              #  Duplicates the (implicit) input-list
 e             #  Calculates the number of permutations of each item in the list
               #  (NOTE: this might time-out depending on the values in the input-list)
  a            #  Check if these numbers are letters (becomes a list of 0s / falsey values)
   r           #  Reverse the items on the stack
    B          #  Base conversion
     o         #  Raise 2 to the power of each number
      s        #  Swap the top two items on the stack
       s       #  Swap the top two items on the stack
              #  Pair the top two items
               #  (NOTE: This is not a regular comma (,), since that would print the top of
               #   the stack to STDOUT, which we of course don't want here.)
         I     #  Push the input-list again
          h    #  Convert each value to hexadecimal
           o   #  Raise 2 to the power of each integer value
            p  #  Check for each if it's a prime
             e #  Calculate the number of permutations of each item again

I{q            # Then the actual program comes:
I              #  Push the input-list
 {             #  Sort it
  q            #  Stop the program
               #   This makes everything that comes after it no-ops
               #   And will output the top of the stack implicitly as result

Pruébelo en línea con el modo de depurador agregado para ver todo esto en acción.


1
+1 por ser natural.
HighlyRadioactive

1

Zsh

No sé si el código o la escritura creativa fue más difícil.

: RE: The state of the evaluation process; eval `#problems'

: While I appreciate your enthusiasm, going to `print `
: this for the world to see isn't helpful in the long run.
: Please, don't make any more enemies than you already have.
:
: > People seem to just want that `'$'`: It's a big problem
: > which needs to be resolved. People need to buy into the
: > company's team-based philosophy `'{'`: ... ''}''
:
: While I do not deny that people "just want that '$'",
: I absolutely disagree that it's a _bad_ thing. Employees
: should not be guilty for wanting to leave for greener
: pastures, so you should try and provide _some_ incentive
: to stay.
:
: > And yet everyone want's to just check "(y)" or `'(n)'`
: > without giving _any_ further feedback... You're too LAZY!
:
: I want to stop you here. Accusations like this against my
: team are _not_ to be tolerated. We do a _lot_ behind the 
: scenes which you _clearly_ aren't aware of. Please refrain
: from `'@-ing'' any of my team, and think with a bit more
: empathy next time, thank you.

-- Gamma :-}'

Pruébalo en línea!

  • Nota: Esto creará archivos llamados "Personas" y "sin" en el directorio desde el que se ejecuta.

  • Desde la primera línea, puede ver el eval, seguido de retrocesos.

  • # commentscontinuar hasta el final de la línea, evitando que se resuelvan las comillas o backticks, por lo que utilizamos :no-ops para sangrar.

  • El patrón estándar que utilizamos en todo esto es `: lots of filler text.... : more filler text, then an important `'X'` : back to the garbage

  • Al final es una excepción: todo, desde @-ingel último hasta el último, }no está inactivo.

  • Cuando finaliza la sustitución, se lee: eval print $'${(n)@-ing any of my team, and think with a bit more\n: empathy next time, thank you.\n\n-- Gamma :-}'La basura después de @no hace nada, por lo que esto es equivalente a print ${(n)@}, que es simplemente un tipo numérico de los parámetros.



0

JavaScript (Node.js)

Attachment => (

`Date: 2019/5/30

Dear my Majestic Boss,

Re: Business Trip to Japan

I'm writing to confirm itinerary for the next trip to Japan will be as follows:

`? (Tennoji, Osaka) => ("Shinsaibashi Tower", Osaka)

|| // Day 1

Tennoji [Osaka, "sort"] 
(Hotel = (JPY$14112, Taxed) => `So I will stay here for one night, and I will be charged this price:

`? JPY$14112 + (0 - Taxed) 
:`This is the total price and what I will claim afterwards.`

):0) (Attachment)

|| // Day 2

"Shinsaibashi Tower" [Conference, `NOT FOR SHOPPING`]

`I will be coming back on Day 2, so the trip will not cost too much hopefully.

Best regards,
The-former-programmer`

Pruébalo en línea!

Bien, este es un itinerario aparentemente. Otra respuesta en dirección diferente después de un año.

La parte realmente importante es Attachment => (Tennoji => Tennoji["sort"]((JPY$14112, Taxed) => JPY$14112 - Taxed))(Attachment)


-1

C#

// Querido jefe,

/*i have a */public/*shed a*/ List /*of*/ <string>/*s
to*/ Sort /*for you on our internal website
please take a look at the */(List /*of*/ <string>/*s and*/ check){
/*them for company restrictions. please also */check /*the */.Sort();/*ing of the     list*/
/*furthermore could you please */return /*an email to me in which you state your */check/*ing state*/;}

// sincerely your slave Rob

55
Dios mío, eso es difícil de leer ...
Beta Decay

12
Se ve muy codeado.
Isiah Meadows

2
Comentarios obvios :) La primera línea se lee public List <String>, sin mucha molestia :)
Martijn
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.