У цьому виклику ви будете будувати програму, яка зростає у міру проходження віками… До 2017 року.
Виклик
Щоразу, коли в цьому описі виклику написано "програма", ви також можете прочитати "функцію".
Коли ваше представлення буде виконано, буде виведена програма, яка становить THE LENGTH OF YOUR SUBMISSION+ 1байти.
Коли ця програма виконується, вона виводить програму, довжиною якої є THE LENGTH OF YOUR SUBMISSION+ 2байти ... і так далі.
Однак , коли ваша програма досягла довжини 2017 байт, вона замість цього повинна виводити 2017та виходити.
Правила
- Результат кінцевої програми повинен бути
2017і єдиним2017. Це може бути рядок або ціле число, але воно повинно читати,2017а не2017.0або0x7E1та інша дурниця. - Немає стандартних лазівки .
- Лише ваша початкова програма може вимагати введення, яке буде додано до вашого рахунку.
Отже, якщо ваша початкова програма має 324 символи і займає 13 байт, ваш загальний бал складе 324 + 13 = 337, а програма, виведена нею, повинна бути 338 байт.perl -XОднак використання прапорів командного рядка (наприклад ) добре, якщо ваша початкова програма та всі створені програми використовують однакові прапори. Крім того, вони теж зараховуються до загальної кількості рахунків. Тире, косі риски тощо перед прапором командного рядка не зараховуються до загального, тому, наприклад,perl -Xвважається одним додатковим байтом.
- Якщо ви повертаєте функцію, це повинна бути фактична функція, а не рядок, яка при оцінці виробляє функцію.
- Неправильні лайки (якщо у вашій програмі є лайка) заборонені.
Приклад
Псевдокод, 99 байт
IF (PROGRAM LENGTH == 2017) PRINT 2017 ELSE PRINT (THE SOURCE OF THIS PROGRAM + 1 BYTE PADDING)
Ваше подання може працювати інакше, якщо воно відповідає вищевказаним правилам.
;;;дозволено додавати лише такі НОП, як дозволено?