10 9 8 7 6 5 4 3 2 1… Друк 2016


12

Як виклик моїй проблемі на головоломці , ваша мета - досягти результатів 2016.

Правила:

  • Ви повинні включити числа 10 9 8 7 6 5 4 3 2 1в цьому порядку. Вони можуть використовуватися як окремі цілі числа або об'єднані разом (як 1098), але 10вони не можуть бути розділені на - 1і 0жодних символів (символів) не може бути присутнім між цифрами. Зауважте, що в деяких мовах 10фактично не може бути реальним ціле число 10, що є прийнятним.
  • Ваш код не повинен містити інших чисел або попередньо визначених змінних чи констант чисел (тому Tв Pyth заборонено, оскільки це числова константа).
  • Ви повинні обчислити, 2016 використовуючи числові цифри. Просто виводити 2016без виконання жодних операцій з необхідними числами (наприклад, за допомогою декодування закодованого рядка, що складається лише з алфавітних символів) не дозволяється. Не дозволяється виводити 2016шматками (наприклад 20, тоді 16); у вас повинен бути один вихід, що складається з числового значення 2016.
  • Дійсна відповідь з найменшими байтами виграє.

3
@nicael Я впевнений, що рішення головоломки було зроблено. У нас було кілька таких завдань "операторів вставки для вирішення рівняння", але їх надзвичайно важко знайти.
Мартін Ендер

1
Попередня редакція (2) насправді була цікавішою. Новий лише друкує рядок, розрахунок вже був зроблений у вашому дивовижному питанні ...
nicael

1
Всього кілька питань , заснованих на тому, що я можу бачити на поточне питання: 1) Чи можна обчислити 20і 16та роздрукувати їх один за іншим , або ж розрахункова потреба номер , щоб бути 2016 року перед друком? 2) Чи дозволені функції? 3) Чи допускається конкатенація цифр? наприклад 1098(я припускаю, що так за попередніми коментарями, але просто для підтвердження) 4) Чи означає "обчислити 2016 за допомогою цілих чисел", що ми ніколи не можемо мати плавців де-небудь на проміжному кроці? наприклад, чи можу я квадратний корінь число і округлення?
Sp3000

1
5) Що станеться, якщо у мене мова, де "10" не трактується як число десять, а скоріше одна з наступних нулів, і її не обійти? Чи дискваліфікується така мова? (наприклад, мова: Befunge) 6) Чи можемо ми використовувати заздалегідь задану змінну числа замість 10, наприклад T987654321?
Sp3000

@ Sp3000 1 № 2 № 3 Так. 4 Поплавки в порядку, поки ви не порушите жодних інших правил. 5 10повинні бути включені, щоб вам потрібно було якось впоратися з цим. 6 До тих пір, як 10з'являється раніше T.
rybo111

Відповіді:



8

Шестикутник, 61 байт

Не збираюсь перемогти, але я просто хотів зробити виклик у Гексагонії.

Для цього використовується інший метод, ніж інші відповіді (набагато гірше). Це потребує деяких факторів 2016 року (2,3,6,7,8) і множує їх усі разом.

Мінімізовано:

\109.8/7}_=\"6<}{>...$_5_4/*!@...../}3.."2\/="*=}<*...$1>"*"/

Немініфікований:

    \ 1 0 9 .
   8 / 7 } _ =
  \ " 6 < } { >
 . . . $ _ 5 _ 4
/ * ! @ . . . . .
 / } 3 . . " 2 \
  / = " * = } <
   * . . . $ 1
    > " * " /

Пояснення найближчим часом;


5
" Пояснення незабаром; " Я думаю, що ми по-іншому розуміємо "скоро". ; P
Кевін Круїйсен

1
@KevinCruijssen Whoops, я повністю забув про це. ... І тепер я вже не розумію, як це працює. Чудово.
Блакитний


4

TI-BASIC, 17 15 байт

int(109876/54-√(321

Для цього використовується метод @ nicael.

17 байт:

10+9*8-7+654*3-21

Це рішення від Puzzling можна безпосередньо перекласти на TI-BASIC.


1
Також діє в Japt, і, ймовірно, деякі інші.
ETHproductions

1
Також працює в PowerShell і Mathematica (Wolfram), і я б уявив багато, багато інших. І, ймовірно, працює ще в десятках з тривіальними модифікаціями.
AdmBorkBork

Прекрасне поліглотне рішення
TanMath

Якщо ви хочете взяти інші мови, я видалю вікі з моєї спільноти.
Аддісон Кримп

3

Japt, 17 16 байт

Â(109876/54-321q

Я ненавиджу це 17. Напевно, знайду інше рішення. ЯЙЗ.

Пояснення:

  • 321q - квадратний корінь 321.
  • ~~ поверхи номер.

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


Â== ~~:-)
ETHproductions

109876/54-321¬fє 15 :-D
ETHproductions

@Eth, але f не працює, ні?
nicael

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

109876/54-321q)fзараз працює. Інша пропозиція не відповідає.
ETHproductions


3

до н.е., 14

109876/54+3-21

Нічого захоплюючого тут - запозичення з інших відповідей.


1
Еквівалент постійного струму 109876 54/3+21-pнабирає 16 балів, але не гарантує відповіді.
Toby Speight

2

Haskell, 31 байт

[10,9*8*7+const 6 5..]!!4+3*2*1

Не найкоротший, 10+9*8-7+654*3-21як це бачимо в інших відповідях, працює і в Haskell, але щось інше.

Це створює список, починаючи з 10і 9*8*7+6 = 510, тому зміщення призначене 500для наступних елементів. Весь список є [10,510,1010,1510,2010,2510 ...]. Вибираємо 4thелемент (на основі індексу 0), тобто 2010додаємо 3*2*1 = 6. Voilà.

Я використовую, const 6 5 = 6щоб позбутися того, 5що не потрібно.


2

Python 2, 20 байт

print 109876/54+3-21

Знову ж, те саме нудне 2016.(740). Використовує той факт, що якщо у вашому виразі немає десяткового числа, він повертає ціле число.


1

> <> (риба), 18 байт

10987**r65r4*n;321

пояснення:

помножує 9 8 і 7 разом, щоб отримати 504, повертає стек і повертає його знову прямо перед додаванням 4, потім множує 504 і 4, щоб отримати 2016. Потім друкує число і закінчує програму перед останніми 3 числами (я міг би зробити це також без різниці, якщо це має значення для правил).


1

Математика ++ , 17 байт

_(109876/54)+3-21

Насправді це друкує 2016.0. Але насправді немає можливості надрукувати точний рядок 2016цією мовою.

Тут також буде працювати 17-байтове рішення TI-BASIC.


1

Поліглот, 17 байт

10+9*8-7+654*3-21

Цей код, вперше використаний у відповіді TI-BASIC Томаса Ква , також працює у:

  • AppleScript (повна програма)
  • до н.е. (повна програма)
  • Math ++ (вираз або повна програма)
  • Mathematica (функція, тому не вірна)
  • Powershell (повна програма)
  • Japt (повна програма)
  • JavaScript (консольний вхід, тому недійсний) Потрібна друга перевірка
  • Perl 5 (функція, тому недійсна). Потрібна друга перевірка
  • Haskell (функція, тому недійсна)
  • Python REPL (вираз, тому для отримання результату потрібно середовище REPL)

1
І який сенс?
nicael

@nicael Я --- збираюся --- я планую (якщо Томас Ква не хоче додати і інші відповіді до нього), щоб додати всі відповіді, що стосуються цієї відповіді (крім TI-BASIC), яку я можу знайти. Позначено як спільноту, щоб інші могли зробити свій внесок.
Аддісон Кримп

1
Чому зауваження "функція, отже, не дійсна"? Функції дозволені за замовчуванням.
німі

5
Я не знаю про інші мови, але 10+9*8-7+654*3-21це ні JavaScript, ні функція Perl.
Денніс

1
@ Sp3000: О, ці недійсні правила змінюються ...
nimi



1

PHP, 27 байт

<?=~~(109876/54+3-21);

(22 байти) було занадто нудно,

тому я використовував 10 - 9 як окремі номери:

<?=10*(9-8+7-6),5+4-3+2<<1;

інші рішення, в основному з дрібними чітами:

30: <?=10**(9+8-7-6)/5+4*3+(2<<1);
30: <?=10*trim(9*8,7),6+5+4+3-2*1;
29: <?=10*trim(9*8,76),5*4-3-2+1;
31: <?=10*trim(9*8,765),4+(3*2<<1);
31: <?=10*trim(9*8,765),4*3+(2<<1);
32: <?=ceil(1098*76/54)+321+ord(~j);
33: <?=(10<<9)/876*543/M_PI*2-M_E&~1;





0

C 37 байт

main(){printf("%d",109876/54+3-21);}

Така ж тема, як і багато присутніх.



0

JavaScript (ES6), 21 байт

f=

_=>~~(109876/54+3-21)

console.log(f())

Якщо "відлік" пішов на 0, це можна зробити в 19 байтах.

f=
_=>109876/54+3-21|0
console.log(f())

І, вважаючи, що зараз 2017 рік, це також можна зробити в 21 байті:

f=
_=>-~(109876/54+3-21)
console.log(f());

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