Сортуйте список і напишіть трохи англійської!


98

Ваш начальник зумів прочитати таємне приховане повідомлення . Він не звільнив вас, однак він просто зробив вас секретарем і заборонив вам писати код.

Але ти програміст. Вам потрібно написати код. Ви повинні кодувати.

Тому ваш код повинен виглядати якомога ближче до англійської, мати сенс і виглядати якомога менше, як код. Ваш код повинен приймати список цілих чисел (або у функції, або STDIN), і повертати цей список відсортовано (повертаючи його або STDOUT).

Можна використовувати будь-яку мову, але я шукаю найбільш креативне рішення (кудо, якщо ваш код схожий на діловий лист).

Це конкурс популярності!


14
пробіл на допомогу?
kaine

19
Або SPL .
Денніс

4
Я думав і про SPL, але шеф-кухар може бути і веселим: P
Adriweb

@Dennis Це було б майже неможливо з'ясувати.
Isiah Meadows

Смішно .. ще немає рубінових матеріалів! : P
Gaurav Agarwal

Відповіді:


161

GolfScript

Шановний бос чоловіче.

Мені стало відомо, що моя клавіатура потребує заміни; клавіші, необхідні для написання
символів ~ $ `. і} не працюють належним чином.

Дуже важко працювати так! Будь ласка, доручіть ІТ-відділу
якнайшвидше обміняти несправну клавіатуру.

З повагою,

Денніс

Спробуйте в Інтернеті!

Як це працює

  • Не визначені лексеми (наприклад, більшість англійських слів) є жодними елементами у GolfScript.

  • . ; дублює рядок введення та відкидає копію.

  • ~ $ оцінює вхідний рядок і сортує отриманий масив.

  • ` перевіряє масив (для гарної друку).

  • . and дублює вихідний рядок і відкидає копію.

  • }є "супер коментарем", оскільки він не має собі рівних; все, що йде за ним, ігнорується.


111
Я здогадуюсь, що ти написав це на своїй іншій клавіатурі?
Геобіт

13
Можливо, він написав це за допомогою клавіатури миші, прихованої в доступності gaboodle?
Tally

46
Це вбудований коментар ... це блочний коментар ... це СУПЕР-КОМЕНТАР!
Дверна ручка

9
@Geobits: Припустимо, що "не працюють належним чином" перекладається на "потрібні кілька спроб, щоб в кінцевому підсумку вивести символів на екран"
justhalf

Або він використав карту символів.
dan04

110

PHP

Визначає функцію, яка називається, itemяка буде сортувати масив, який ви передаєте їй.

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

Це виглядає набагато краще, якщо вставити його в текстовий редактор і змінити розмір вікна, щоб ви могли побачити всю річ на екрані одразу.


118
"Я успішно виявив усі дужки". Хтось збирається на службовця місяця!
Мартін Ендер

20
-1: Ви пропустили «і». (По серйозності, +1.)
Кевін

4
Нічого собі людина. : D Не можу перестати сміятися
Вен

70

Пітон 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
+1 обожнює те, як ти прокрався, defщоб означати «букви на клавіші телефону 3».
AJMansfield

68

Пітон 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?

Пошук правильних слів був справжнім болем.

Вхід: [1,7,4,3]
Вихід: [1,3,4,7]


48
Це схоже на ті електронні листи, які я отримую від Nigeria lol
Chris Cirefice

6
@ChrisCirefice Ну, ці листи, ймовірно, містять і прихований код;) Між пробілом і дещо поганим формулюванням у моєму коді є те, що кожен 15-й символ рядка після exec утворює новий рядок, який потім виконується. Так що вся програма в основномуexec"y=input();y.sort();print y"
Маркуз

1
'''Складний рядок у верхній мертвий піддавки, до жаль, але +1 до «тепер строго"; Exec "" "Уте ваші замовлення.» і добрі зусилля: p
Томас

60

NetLogo

To Manager [IT]

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

Із змінами відступу та великої літери код стає зрозумілим (er). Це визначає функцію, managerяка називається, яка приймає список як вхідний і друкує список, відсортований.

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

to the
end

7
Однозначно не схожий на код.
Денніс

1
Мені це дуже подобається.
Натан Меррілл

59

С

Введіть як розділений пробілом список через STDIN, виведіть як розділений пробілом список через 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

Це слід скласти з:

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'

Код розширюється до:

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 за зловживання препроцесором. Звичайно, з такою річчю ви, можливо, можете змусити її читати як будь-який фрагмент коду, який ви хочете.
пухнастий

12
Ви мали б надати значення ключовим словам та змінним і використовувати препроцесор лише для спеціальних символів, таких як дужки. Ви навіть не доклали зусиль.
bebe

3
@ Будьте більш нахабні зловживання, тим краще, ІМХО :).

9
Наступним кодовим гольфом є ​​перетворення цього "джерела" на реалізацію гри "Життя життя Конвей". -Dгольф!
slebetman

2
@fluffy Я люблю зловживання препроцесором у затуманеному C. Ви можете зробити майже все, що є в ньому, дійсний код C, достатньо #define/ -Dс.
Isiah Meadows

24

Python 2 & 3

На жаль, працівники сьогодні просто не можуть перестати використовувати хештеги всюди ...

#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

[Варто спробувати, я думаю?]


20
Відмінний привід для використання коментарів, але, на жаль, він містить фактичний код

Додати принт "привіт" наприкінці
Ентоні Фам

17

Брейнфук

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

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

Pretty cool huh?

Примітка про авторське право:

Примітка. Я копіюю це вставлення звідси. Наскільки мені відомо, коди з сайту мають авторські права cc by-sa 3.0 з атрибуцією. Якщо цей метод є незаконним, повідомте мене, і я спробую його видалити.


4
"Ваш код повинен виглядати якомога менше коду."
Шон Латхем

27
Це відкритий ключ для шифрування! Не код! Інший!
Realdeo

2
@Realdeo Не забувайте, у другому рядку буде прочитано більше входу після запуску програми
гордий haskeller

Гарний улов! Редагування
Realdeo

4
Із мозковим мовленням буде набагато простіше просто включити код у звичайний текст. >наприклад, можна використовувати для цитат (саме так це працює в електронних листах) тощо.
Інго Бюрк

16

JavaScript

Я не впевнений, чи зможу я його перехитрити, але я можу скинути його зі свого сліду!

/*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
Зловживання коментарями свого роду робить це більш очевидним.
Isiah Meadows

14

Догескрипт

Це в основному англійська, правда?

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

перекладається на:

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

15
Я думаю, що ваш начальник звільнить вас, якщо ви
напишете так

10

LiveScript

Спробуйте розібратися в цьому ... Ми надсилали йому такі електронні листи весь час, щоб забезпечити легку і універсальну копію-вставку.

# 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. Його стандартна бібліотека, Prelude.ls, має функцію нативної сортування.
2. Зверніть увагу на два відсутні хеші (коментарі). Перше набагато очевидніше, ніж друге.

Він аналізує так: "fun = sort" і компілює до цього: "var fun; fun = sort;"


До речі, виділення синтаксису - це невдача. Один із коментарів неправильно проаналізований.
Isiah Meadows

10

Об'їзд (неконкурсний; -;)

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!

Постійна посилання для перекладача

Як це працює:

Єдиною важливою частиною є ://і лінія над нею z.,. :означає "помістити сюди", перший /відображає його до z, що є сортуванням; потім він піднімається вгору, загортається вгорі, продовжує підніматися знизу, потім вдаряється /знизу, що відхиляє його вліво до іншого /, що робить те саме, за винятком цього разу . або виводячи.

Спрощена версія:

Об'їзд

Dear Boss Man             
             z.
            ://

Спробуйте в Інтернеті!


5

JavaScript (ES6)

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

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

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

      /*( NO SMOKING IN OFFICE */)

Спробуйте в Інтернеті!

Так, я знаю, що начальникові подобаються модні прикраси у своїх повідомленнях, тому я написав великі літери і оточив тексти вигадливими символами :)

PS. Чому офіс досі використовує TELNET?

Насправді, видалення коментарів та зайвих пробілів робить це предметом (a)=>(a).sort(($,_)=>($-_)), і саме це має намір матеріал; P


3

√ å ı ¥ ® Ï Ø ¿

Я лише пропустив іншу відповідь, але я все ще думаю, що моя на сьогодні найкраща (чи не всі ми).

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

Groovy

'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
Ви не повинні писати код. Це код.
Zach Mertes

7
Мені це дуже подобається. Це просто приховування коду на очах.

4
LOL ви повинні поставити "Я знайшов формулу Excel " потім. Хоча я досить знайомий з Excel, посилання ніколи не спадало мені на думку.

5
@kuroineko Формули Excel не мають такого програмного синтаксису, чи не так?
Маленька дитина

3
8 обертів та 9 нижніх? Ого; це суперечливо.
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

Спробуйте в Інтернеті. (TIO використовує застарілу версію, яка трохи швидша. Однак працює так само, як і нову версію 05AB1E.)

Пояснення:

Код 05AB1E ігнорує нові рядки та пробіли за межами рядків або стислих рядків / чисел (за винятком випадків, коли я використовував (if-) else-оператор, який я щойно з’ясував у попередній спробі створення цієї програми ..>.>), Тому зробимо те ж саме у цьому поясненні.

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

Спробуйте в режимі он-лайн з доданим режимом налагодження, щоб побачити все це в дії.


1
+1 за те, що він природний.
HighlyRadioactive

1

Зш

Я не знаю, чи було складніше код або креативне написання.

: 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 :-}'

Спробуйте в Інтернеті!

  • Примітка. Це створить файли з назвою "Люди" та "без" у каталозі, з якого вона запущена.

  • З першого рядка ви бачите значок eval, а потім - зворотні посилання.

  • # commentsпродовжуйте закінчувати рядки, зупиняючи вирішення котирувань або зворотних посилань, тому :для відступу ми не використовуємо .

  • Стандартний зразок, який ми використовуємо у всьому цьому, такий `: lots of filler text.... : more filler text, then an important `'X'` : back to the garbage

  • Наприкінці є один виняток: все від @-ingостаннього }не є no-op'd.

  • Коли заміна закінчена, вона пише: eval print $'${(n)@-ing any of my team, and think with a bit more\n: empathy next time, thank you.\n\n-- Gamma :-}'Сміття після @нічого не робить, тому це еквівалентно print ${(n)@}, що просто числовий параметр.



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`

Спробуйте в Інтернеті!

Гаразд, це маршрут очевидно. Ще одна відповідь у інший бік через рік.

Справді важлива частина Attachment => (Tennoji => Tennoji["sort"]((JPY$14112, Taxed) => JPY$14112 - Taxed))(Attachment)


-1

C #

// Шановний бос,

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

5
Боже мій, який важко читати ...
Бета-розпад

12
Виглядає занадто задумливо.
Isiah Meadows

2
Очевидні коментарі :) Перший рядок читається public List <String>без особливих клопотів :)
Martijn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.