Давайте создадим простое сюръективное отображение из положительных целых чисел в гауссовы целые числа , которые являются комплексными числами, где действительная и мнимая части являются целыми числами.
Например 4538
, если задано положительное целое число, выразите его в двоичном формате без начальных 0
символов:
4538 base 10 = 1000110111010 base 2
Удалить любые трейлинг 0
-ы:
100011011101
Замените любые прогоны одного или нескольких 0
с одним +
:
1+11+111+1
Заменить все 1
на i
s:
i+ii+iii+i
Оцените полученное комплексное выражение и выведите упрощенное гауссовское целое число:
i+ii+iii+i = i+i*i+i*i*i+i = 2i+i^2+i^3 = 2i+(-1)+(-i) = -1+i
Выходные данные могут быть выражены традиционным математическим способом или заданы как два отдельных целых числа для действительной и сложной частей. Для 4538
примера, любой из них будет хорошо:
-1+i
i-1
-1+1i
(-1, 1)
-1 1
-1\n1
Для входов , таких как 29
, Mathy отформатированы выходы , такие как 0
, 0i
или 0+0i
все хорошо.
Использование j
(или что-то еще) вместо этого i
хорошо, если это более естественно для вашего языка.
Самый короткий код в байтах побеждает.
4+2j
->100+10j
...