Вступление
Вы можете знать и любить свой обычный круг единиц. Но математики сумасшедшие, и поэтому они абстрагировали концепцию до любой точки, которая удовлетворяет x*x+y*y=1
. Поскольку криптографы 1 тоже странные, они любят конечные поля, а иногда и конечные кольца (хотя у них нет большого выбора), поэтому давайте объединим это!
Соревнование
вход
Целое положительное число больше единицы в вашей любимой кодировке. Давайте назовем этот номер n.
Выход
Вы выведете «изображение» (которое состоит из n раз по n символов) единичного круга по модулю входного целого числа как ASCII-Art, используя «X» (латинские буквы верхнего регистра X) и «» (пробел). Пробелы и переводы строки разрешены.
Подробнее
Вы должны охватить систему координат от нижнего левого до верхнего правого. Всякий раз, когда точка удовлетворяет уравнению окружности, поместите X в положение, в противном случае поместите пробел.
Условие для точки следует рассматривать как часть границы круга является:
mod(x*x+y*y,n)==1
.
Вот краткая иллюстрация системы координат:
(0,4)(1,4)(2,4)(3,4)(4,4)
(0,3)(1,3)(2,3)(3,3)(4,3)
(0,2)(1,2)(2,2)(3,2)(4,2)
(0,1)(1,1)(2,1)(3,1)(4,1)
(0,0)(1,0)(2,0)(3,0)(4,0)
Если это поможет вам, вы также можете инвертировать направление любой из осей, но примеры предполагают такую ориентацию.
Кто выигрывает?
Это код-гольф, поэтому выигрывает самый короткий код в байтах! Разрешены только стандартные методы ввода-вывода, а все стандартные лазейки запрещены.
Примеры
Вход: 2
X
X
Вход: 3
X
X
XX
Вход: 5
X
X
X X
Вход: 7
X
X X
X X
X
X X
Вход: 11
X
XX
X X
X X
XX
X
X X
Вход: 42
X
X X
X X
X X
X X
X
X X X X
X X X X
X
X X
X X
X X
X X
X
X X X X
X
X X
X X
X X
X X
X
X X X X
X X X X
X
X X
X X
X X
X X
X
X X X X
1 Я предлагаю вам взглянуть на мой профиль, если вам интересно здесь.