Було кілька проблем, пов'язаних із подвоєнням вихідного коду: тут і тут . Завдання, яке ми маємо тут, трохи складніше, але воно повинно бути виконане майже на всіх мовах.
У цьому виклику ви візьмете довільне додатне ціле число. Ваша програма повинна вивести це ціле число вдвічі . Коли ваш вихідний код збільшиться удвічі, він візьме додатне ціле число та виведе його у квадрат .
Як ваш вихідний код подвоїться? Ну, ви можете мати це по-своєму . Тобто, ви можете розділити ваш вихідний код до в рядки байт або символів (або жетони в токенізірованной LANGS) з будь-якої рівної довжини ви хочете , і повторювати кожен шматок в два раз підряду.
Для початкової програми ABCDEFGHIJKL
(довжина 12) тут є всі можливі подвоєні програми:
Chunk length | Doubled source code
-------------+-------------------------
1 | AABBCCDDEEFFGGHHIIJJKKLL
2 | ABABCDCDEFEFGHGHIJIJKLKL
3 | ABCABCDEFDEFGHIGHIJKLJKL
4 | ABCDABCDEFGHEFGHIJKLIJKL
6 | ABCDEFABCDEFGHIJKLGHIJKL
12 | ABCDEFGHIJKLABCDEFGHIJKL
Зауважте, що це означає, що програми простих розмірів можна подвоїти лише двома способами: кожен символ подвоюється або повна програма повторюється двічі.
Правила:
- Код повинен бути повноцінною програмою або функцією.
- Стандартні лазівки заборонені.
- Дозволені стандартні методи вводу / виводу.
- Усі символи / байти, включаючи пробіли та нові рядки, підраховуються за довжиною коду та вносять у груди фрагменти.
- Ви можете припустити, що введення та його квадрат можуть бути представлені типом int / integer вашої мови.
- Ви не можете припустити, що є новим рядком чи іншим символом.
- Укажіть розмір вашої частини в заголовку після підрахунку байтів.
- Це код-гольф , тому кращі програми краще! Якщо дві програми однакової довжини, виграє та, яка використовує меншу довжину шматка. (Якщо у вас є довша програма, яка використовує меншу довжину шматка, то це теж варто опублікувати!)
- Якщо вашій програмі потрібен другий вхід / рядок, ви можете не робити припущень щодо її значення. Зокрема, ваша програма повинна працювати, якщо другий вхід порожній, такий же, як перший або інше ціле число. Якщо вашій програмі не потрібен другий вхід / рядок, ви можете проігнорувати це обмеження.
5 -> 10
:; подвійний код : 5 -> 25 25
.
.0
в кінці)?