Problème
Afficher l’original (anglais)La spirale infinie commence dans la cellule en haut à gauche. Les quatre premières lignes et colonnes sont illustrées ci-dessous. Continuez le même motif en couches carrées qui s'étendent. Les coordonnées commencent à 1.
1 2 9 10
4 3 8 11
5 6 7 12
16 15 14 13Retournez la valeur d'une cellule sans construire toute la grille.
Implémentez number_spiral(row, column).
Entrée
row : La ligne comptée depuis le haut, en commençant à 1.
column : La colonne comptée depuis la gauche, en commençant à 1.
Sortie
Retournez le nombre à cette position.
Contraintes
1 ≤ row, column ≤ 1 000 000 000. La valeur tient dans un entier signé 64 bits.
Exemples
Entrée :
row = 3
column = 2
Sortie attendue :
expected = 6
Entrée :
long long row = 3;
long long column = 2;
Sortie attendue :
long long expected = 6;
Entrée :
long row = 3;
long column = 2;
Sortie attendue :
long expected = 6;
Explication
Dans la troisième ligne affichée, la deuxième valeur est 6.
Entrée :
row = 1
column = 4
Sortie attendue :
expected = 10
Entrée :
long long row = 1;
long long column = 4;
Sortie attendue :
long long expected = 10;
Entrée :
long row = 1;
long column = 4;
Sortie attendue :
long expected = 10;
Explication
La quatrième couche carrée commence à 10 dans la ligne du haut.
Références
Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.