Вступ
Ви можете знати і любити своє нормальне одиничне коло. Але математики божевільні, і тому вони абстрагували цю концепцію до будь-якої точки, яка задовольняє 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 Я пропоную вам поглянути на мій профіль, якщо вам тут цікаво.