Tu viens d'être embauché comme professeur de mathématiques. La première semaine s'est bien passée, mais quelque chose ne tourne pas rond la deuxième. Le problème, c'est que toutes les réponses données par tes étudiants sont fausses ! Heureusement, tes compétences en mathématiques t'ont permis d'identifier le problème : les réponses des étudiants sont correctes, mais elles sont toutes en base 2 (binaire) ! Étonnamment, il s'avère que chaque semaine, les étudiants utilisent une base différente. Pour t'aider à vérifier rapidement les réponses des étudiants, tu vas construire un outil pour convertir d'une base à une autre.
Convertis une séquence de chiffres dans une base, représentant un nombre, en une séquence de chiffres dans une autre base, représentant ce même nombre.
Essaie d'implémenter la conversion toi-même. N'utilise pas autre chose pour faire la conversion à ta place.
Dans la notation positionnelle, un nombre en base b peut se comprendre comme une combinaison linéaire des puissances de b.
Le nombre 42, en base 10, signifie :
(4 × 10¹) + (2 × 10⁰)
Le nombre 101010, en base 2, signifie :
(1 × 2⁵) + (0 × 2⁴) + (1 × 2³) + (0 × 2²) + (1 × 2¹) + (0 × 2⁰)
Le nombre 1120, en base 3, signifie :
(1 × 3³) + (1 × 3²) + (2 × 3¹) + (0 × 3⁰)
Oui. Ces trois nombres ci-dessus sont exactement les mêmes. Félicitations !
Hypothèses :
Pour gérer les cas problématiques, renvoie une erreur dont la méthode Error() renvoie l'un des messages suivants :
Inscris-toi sur Exercism pour apprendre et maîtriser Go avec 34 concepts165 exercices, et un vrai mentorat humain, le tout gratuitement.