introduction
Vous connaissez peut-être et aimez votre cercle d'unité normal. Mais les mathématiciens sont fous et ont donc résumé le concept à tout point qui satisfait x*x+y*y=1
. Parce que les cryptographes 1 sont également étranges, ils aiment les champs finis et parfois les anneaux finis (ce n'est pas comme s'ils avaient beaucoup de choix), alors combinons cela!
Le défi
Contribution
Un entier positif supérieur à un dans votre encodage préféré. Appelons ce numéro n.
Production
Vous afficherez l '"image" (qui se compose de n fois n caractères) du cercle unitaire modulo l'entier d'entrée en ASCII-Art en utilisant "X" (X majuscule latin) et "" (un espace). Les espaces de fin et les nouvelles lignes sont autorisés.
Plus de détails
Vous devez étendre un système de coordonnées de bas à gauche à haut à droite. Chaque fois qu'un point remplit l'équation du cercle, placez un X à la position, sinon placez un espace.
La condition d'un point à considérer comme faisant partie de la frontière du cercle est:
mod(x*x+y*y,n)==1
.
Voici une illustration rapide du système de coordonnées:
(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)
Si cela vous aide, vous pouvez également inverser la direction de l'un des axes, mais les exemples supposent cette orientation.
Qui gagne?
C'est le code-golf donc le code le plus court en octets gagne! Seules les méthodes d'E / S par défaut sont autorisées et toutes les failles standard sont interdites.
Exemples
Entrée: 2
X
X
Entrée: 3
X
X
XX
Entrée: 5
X
X
X X
Entrée: 7
X
X X
X X
X
X X
Entrée: 11
X
XX
X X
X X
XX
X
X X
Entrée: 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 Je vous suggère de jeter un œil à mon profil si vous vous posez la question ici.