Compte tenu du nombre de sommets n ≥ 3
et de la "taille de pas" 1 ≤ m < n/2
(indiquant la distance entre deux sommets connectés), affichez une représentation graphique du polygramme régulier correspondant . Si le polygramme se compose de plusieurs boucles fermées, chaque boucle doit être rendue dans une couleur de ligne différente. (Si cela vous semble confus, les exemples ci-dessous devraient, espérons-le, clarifier les choses.)
Règles
Toute solution raisonnable au problème satisfera probablement ces règles automatiquement - elles sont juste là pour imposer des contraintes sur les paramètres de la sortie afin d’empêcher des réponses comme "Ce bloc noir est totalement un polygramme, mais vous ne pouvez pas le voir car J'ai défini une largeur de ligne supérieure à 9 000. "
- Vous pouvez rendre le polygramme dans un fichier (qui peut être écrit sur un disque ou dans le flux de sortie standard) ou l'afficher à l'écran.
- Vous pouvez utiliser des graphiques vectoriels ou raster. Si votre sortie est tramée, votre image doit avoir des dimensions de 400x400 pixels ou plus, et le rayon du polygramme (la distance du centre à chaque sommet) doit être compris entre 35% et 50% de la longueur du côté.
- Le rapport d'aspect du polygramme doit être 1 (de sorte que ses sommets se trouvent sur un cercle approprié) - la toile de l'image peut être rectangulaire.
- Les lignes du polygramme ne doivent pas être plus épaisses que 5% du rayon (et bien sûr, elles doivent avoir une épaisseur non nulle pour être visibles).
- Vous pouvez rendre des axes ou un cadre en plus du polygramme, mais rien d'autre.
- Vous pouvez choisir n'importe quelle couleur d'arrière-plan (solide).
- Pour les polygrammes composés de plusieurs boucles fermées, vous devez prendre en charge au moins 6 couleurs visuellement distinctes , qui doivent toutes être différentes de l'arrière-plan. (L'échelle de gris est fine, à condition que les nuances soient suffisamment réparties dans le spectre.) Votre code doit toujours fonctionner pour plus de 6 boucles, mais les couleurs ne doivent pas être distinguables pour les boucles supplémentaires (c'est-à-dire que vous pouvez également réutiliser couleurs des boucles précédentes à ce point).
Il s'agit du code golf, donc la réponse la plus courte (en octets) l'emporte.
Exemples
Voici toutes les sorties jusqu'à n = 16
(où la colonne correspond n
et la ligne à m
):
Cliquez pour une version plus grande.
À titre d'exemples pour les plus grands n
, voici (n, m) = (29, 11)
et (30, 12)
: