Dans un petit village près d'une forêt ancienne, la légende parlait d'un trésor caché, enfoui au plus profond des bois. Malgré de nombreuses tentatives, personne n'avait jamais réussi à le trouver. Mais cela allait bientôt changer, grâce à une jeune exploratrice du nom d'Elara. Elle avait découvert un vieux document contenant des instructions pour localiser le trésor. À l'aide de ces instructions, Elara avait pu dessiner une carte qui révélait le chemin menant au trésor.
À sa grande surprise, ce chemin suivait une étrange spirale qui tournait dans le sens des aiguilles d'une montre. Pas étonnant que personne n'ait réussi à trouver le trésor auparavant ! La carte à la main, Elara se lance dans son périple pour mettre au jour le trésor caché.
Ta tâche consiste à renvoyer une matrice carrée d'une taille donnée.
La matrice doit être remplie avec des nombres entiers naturels, en partant de 1 dans le coin en haut à gauche, puis en augmentant en spirale vers l'intérieur, dans le sens des aiguilles d'une montre, comme dans ces exemples :
1 2 3
8 9 4
7 6 5
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
La sortie doit être organisée en ordre ligne par ligne : tous les mots de la première ligne, puis les mots de la deuxième ligne, et ainsi de suite.
| Registre | Utilisation | Type | Description |
|---|---|---|---|
$a0 |
entrée | entier | taille |
$a1 |
entrée/sortie | adresse | matrice de mots, en ordre ligne par ligne |
$v0 |
sortie | entier | nombre de mots dans la matrice |
$t0-9 |
temporaire | quelconque | pour un stockage temporaire |
Inscris-toi sur Exercism pour apprendre et maîtriser MIPS Assembly avec 70 exercices, et un vrai mentorat humain, le tout gratuitement.