- 20, Oct 2024
- #1
Напишите квайн, который выводит дополнение исходного кода от наименьшей степени, содержащей двойку. Вот пример:
Ṡ
Самая большая кодовая точка в строке IN : R¡Ṡ
OUT: ᾮὟƠ
is the letter 128 - 117 = 11
, что равно 117. Наименьшая содержащая степень 2 будет равна 128, поэтому все кодовые точки берутся как дополнения от 128.
- с:
128 - 111 = 17
. Code point 13 is a carriage return. - о:
128 - 115 = 13
. Code point 17 is "device control 1" - ты:
u
. Code point 11 is a vertical tab.
И так далее. Вот еще один пример:
"source"
Самая большая кодовая точка — это символ IN : source
OUT: \r\x11\x0b\x0e\x1d\x1b
, which is 7776. The smallest containing power of 2 is 2^13 (8192), so each character is complemented from 8192.
Применяются все стандартные лазейки. Программа должна состоять из некоторых явных данных или кода. Переменная, содержащая некоторые данные, по умолчанию будет считаться неявными данными и, следовательно, недопустима.
Если ваш язык неизбежно выводит завершающую новую строку, ее можно игнорировать.
#код-гольф #куайн