Анаглот Поліграми


19

Завдання

Напишіть код, який можна переставити на n різних програм на n різних мовах, кожна з яких виводить окреме число від 1 до n.

Жодна дві мови не повинна бути однаковою, однак різні версії "однієї і тієї ж мови" вважатимуться окремими мовами, якщо вони мають різні основні версії. Для цього завдання середовища REPL не відрізняються від своїх батьківських мов, але все ще є мовою. Кожна мова повинна працювати на чіткій перестановці вихідного коду і виводити окреме число в діапазоні.

Перестановки будуть рахуватися в байтах, а не в символах .

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

Оцінка балів

Ваш рахунок буде найвищим

Рахункове рівняння

Де N - кількість мов, а L - кількість унікальних упорядковань програмних байтів.

L не дорівнює довжині програми

(якщо програма не становить 1 або 0 байт)

Ось сценарій пітона для обчислення L ввічливості Конора О'Браєна.

L дорівнює довжині фактора програми, якщо і лише тоді, коли в програмі немає повторних байтів.

Мета - максимізувати ваш рахунок.



чи дозволені коментарі?
Адам

@ Adám Не було б розумного способу заборонити коментарі
Wheat Wizard

Тож якщо #символ коментаря є 5 мовами, хорошим рішенням буде1#2345
Adám

@ Adám, який дає оцінку 1/6. Я впевнений, що бал 1 легко можливий за допомогою 2-байтної програми (або 1-байтної програми з цього питання). А додавання більше цифр знижує ваш рахунок.
Мартін Ендер

Відповіді:


30

34 Мови, 19 байт, Оцінка: 38,832,018,459,912,437,760,000

Ось коротка відповідь, яку я зібрав разом, щоб показати, що можна отримати відповідь, набравши кращий результат.

 12233echo*+--@#..;

1. NTFJ

#*22331+..@o;-- ech

Це виводиться за допомогою символьного коду, який дозволений мета-консенсусом .

Спробуйте тут

2. Тчш

echo 2;#..1@2+33*--

3. 05AB1E

2231*+..@echo ;--#3

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

4. Власне

@..o; eho1#c3223-*+-

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

5. Befunge 98

23+.@.21*#3o;-- ech

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

6. Кубікс

123+23*o@#;-- ech..

Виводи за кодом символів

Спробуйте тут

Розгорнутий код:

    1 2
    3 +
2 3 * o @ # ; -
- e c h . . . .
    . .
    . .

7. Haskell 8 REPL

3+2*2 --31#;@..echo

8. Серйозно

@..o; eho1#c3223-+*-

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

9.> <>

33*o;2+..@#12-- ech

Виводи за кодом символів

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

10. Налаштовувати

33*1+.@.#22o;-- ech

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

11. мозкова робота

323*+..@echo ;--#12

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

12. 2живний

233*+..@echo ;--#12

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

13. Шестикутник

13;2#2+@*3o-- ech..

Виводи за кодом символів

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

Розгорнутий код:

  1 3 ;
 2 # 2 +
@ * 3 o -
 - e c h
  . . .

14. R

12+2#*33..@o; ech

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

15. до н.е.

12+3#*23..@o;-- ech

16. Python 3 REPL

13+3#*22..@o;-- ech

17. irb (Ruby 2.4 REPL)

13+2*2#3..@o;-- ech

18. PowerShell

12+2*3#3..@o;-- ech

19. Python 2 REPL

13+2*3#2..@o;-- ech

20. Python 1.6.1 REPL

23-3#-+*21..@o; ech

21. Кш

echo 21;#..2@3+3*--

22. Баш

echo 22;#..1@3+3*--

23. Зш

echo 23;#..1@2+3*--

24. Яблукопис

23+1 --#2*3..@o;ech

25. Lua REPL

23+2 --#1*3..@o;ech

26. Юлія РЕПЛ

23+3 #2*1..@o;--ech

27. irb (Ruby 1.9.3 REPL)

13*2+3-2 #..@o;-ech

28. Haskell 7 REPL

13*2+2--3#;@.. echo

29. Дж

echo --1#.23;@+2*.3

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

30. Нім

echo 33-2-1;#..@2+2*

31. риба

echo 31;#3-2-..@2+2*

32. PHP

echo 32;#+123*@..--

<?phpне потрібен завдяки цій мета

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

33. Гольфскрипт

3.#.1223*@+o;-- ech

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

34. Октава

33+1 #22echo*--@..;

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


5
І тому я ненавиджу мови, здатні на відповідь
REPL

1
Якщо ви додасте .і іншу мову, ви можете мати 11. J:2#.2+3*3
Conor O'Brien

@WheatWizard тут
Conor O'Brien


@WheatWizard J технічно є ЗАВДАННЯМ. Префікс коду, echo щоб побачити вихід.
Conor O'Brien

11

1 мова, 0 байт, оцінка 1

Я не знаю, які високі бали отримають у цьому виклику, тому давайте займемося цим місцем.


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

У Retina порожня програма без введення друку 1.

Оцінка = 1! / 0! = 1/1 = 1


7
На перший погляд це виглядає як жартівлива відповідь, але має найвищий бал досі ...
trichoplax

Один і той же бал для однобайтового запису, ні?
Адам

@ Adám так, як 1у R, наприклад
Джузеппе

5
У желе це виходить 0, тому 2 мови => оцінка = 2
Містер Xcoder

5
@ Mr.Xcoder Ні, це не так, як працює бал. Ви повинні виводити від 1 до n, і кожен повинен бути на окремій перестановці.
Пшеничний майстер

6

2 мови, 2 байти, оцінка 1

Не перемагає відповідь Лео, але я подумав, що я представляю двомовне рішення (ну а Wheat Wizard ніндзя все-таки відповідь отримав бал-2).

Сітківка , відбитки1

2`

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

Це по суті те саме, що і порожня програма Лева.

Піт , відбитки2

`2

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

Це repr(2)так він обчислює , "2"який друкується в якості 2.


5

26 мов, 46 байт, оцінка: 1.68861953e-28 (0.000000000000000000000000000168861953)

Усі мови є основними (тобто вони фактично використовуються людьми в розробці), і рішення REPL ні на одній мові не існує. Ця відповідь ніколи не виграє, але це не привід для того, щоб не публікувати її ...

//#**print()ale123456789+chous :f{}:""enttd *;

1. Пітон 2

print 1#//**()alechous:f{}:23456789+ ""enttd*;

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

2. Пітон 3

print(2)#//**alechous13456789+: f{}: ""enttd*;

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

3. Рубін

puts 3#//**()alecho:f12456789+{}rin: ""enttd*;

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

4. CoffeeScript

alert 4#//**()pinchous:12356789+f{}: ""enttd*;

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

5. PHP

echo 5/*alrt#()pinus:f{:12346789+} ""enttd;**/

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

6. Перл 5

print 6#/*ale()chous:12345789+f{:} */""enttd*;

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

7. Перл 6

print 7#/*ale)(chous:f12345689+{:} */""enttd*;

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

8. JavaScript (ES5)

alert(8)//pin 12345679+#*chous:f{:} *""enttd*;

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

9. JavaScript (ES6)

alert(9)//inp 12345678+#*chous: f{:}*""enttd*;

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

10. JavaScript (ES7)

alert(9+1)//pni #*chous2345678: f{:}*""enttd*;

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

11. Пакет

echo 9+2 ::alrt()//pni#*usf{1345678}*""enttd*;

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

12. Баш

echo 12 #::alrt(3456789+)//pni*usf{}*""enttd*;

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

13. CSS

*:after{content:"13" /*h# l(2456789+)pisud;*/}

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

14. Менше

*:after{content:"14" /*#h l(2356789+)pisud;*/}

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

15. Стилус

*:after{content:"15" /*#hl (2346789+)pisud;*/}

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

16. TypeScript

alert(16)//inp #*chous2345789+: :{f}*""entt*d;

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

17. Октава

disp(17)#//n *chou2345689+: :{f}*""entt*alert;

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

18. Швидкий

print(18)//ds# *chou2345679+: :{f}""ent*ale*t;

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

19. Юлія

print(19)#ds// *chou2345678+: :{f}""ent*ale*t;

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

20. Максима

print(18+2);/*#ds ouch 345679::{f}""entale*t*/

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

21. Clojure

(print "21");/*#ds ouch3456789+::{f}entale*t*/

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

22. Groovy

print 19+3//();*#ds oh245678::{fuc*}entalet*""

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

23. CommonLisp

(print 23);//*#ds oh1456789+::{fuc*}entalet*""

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

24. EmacsLisp

(print 24);//*#ds oh1356789+::{fuc*}entalet*""

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

25. PicoLisp

(print 25);//*#ds oh1346789+::{fuc*}entalet*""

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

26. Логотип

print 21+5 ;//*#dsoh346789::{fuc*}entalet*""()

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


1
І Свіфт, показуючи 18:print(18)//#**alechous: f{}:2345679+ ""enttd*
Містер Xcoder

Припустимо, це збільшить вашу оцінку приблизно на 0,002е-20 :))
Містер Xcoder

3
pfft. 2017 рік стане роком веб-рамки Befunge!
Скайлер

Коментарі просто перетворять все це питання в божевілля…
Mathime

btw Applescript, який можна побачити у моїй відповіді, працює без відповіді, але вимагає --коментарів. Якщо ви додасте, --ви, ймовірно, також можете працювати принаймні в одному типі haskell.
Пшеничний майстер

3

12 мов, 16 байт - оцінка: 0,003

print(0b11000)#1

Друк 1в 2sable

print(0b1100)#10

Друк 10в 05AB1E

print(0b11)#1000

Перестановка двійкових чисел друкує 2-9, 11-12 у:

  • Кристал
  • Юлія 0,5
  • J-uby
  • Лілія
  • Perl 5
  • Перл 6
  • Пітон 3
  • Пітон 2
  • Пітон
  • Рубін

L = 145297152000 12! = 479001600

Я просто використав TiO для переліку дійсних мов для цього (Якщо всі вони вважаються унікальними?). Видалено декілька повторюваних мов завдяки входженню з Wheat Wizard. Ця відповідь виглядає досить низько, хоча я вважаю, що вона має потенціал.


Julia 0.4 та 0.5 мають однаковий основний номер версії. Як і Python 2 (PyPy) та Python 2. Однак це, ймовірно, буде працювати в Python 1
Wheat Wizard

Чи можете ви залишити друк і назвати його відбитком? Скільки з них мають відбитки?
Брайан МакКучон

@BrianMcCutchon Лілія, Перл і Кристал не мають відбитків. Всі інші роблять.
Пшеничний майстер

1

JavaScript (ES6), Python 2, Python 3, Japt, 4.735e-15

# ()//1234=>inprt

ES6 (1)

p=>1//rint 234()#

Пітон 2 (2)

print 2#134=>//()

Пітон 3 (3)

print(3)# 124=>//

Japt (4)

#rint>=3/2)p (4/1

Ваш бал - 4.73508590206e-15BTW.
Пшеничний майстер

Є це? 4 фактора - це 24, що розділено на 17 - це приблизно 1,4
Лука

Не ділиться на 17, а на 5068545850368000, кількість способів переставити рядок.
Пшеничний майстер

На жаль Непрочитайте це. Дякуємо, що вказали на це.
Лука

@WheatWizard О, я теж пропустив це.
Adám
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.