Problème
Afficher l’original (anglais)Classifiez trois longueurs de côtés comme invalide, équilatéral, isocèle ou scalène. Un triangle valide a des côtés positifs, et la somme de ses deux côtés les plus courts doit être strictement supérieure à son côté le plus long. L'égalité n'est pas valide : cela forme une ligne droite. Utilisez équilatéral pour trois côtés égaux, isocèle pour exactement deux, et scalène pour trois côtés différents.
Implémentez triangle_classification(sides).
Entrée
sides : Les trois longueurs de côtés dans n'importe quel ordre.
Sortie
Retournez un seul libellé en minuscules : invalid, equilateral, isosceles ou scalene.
Contraintes
Exactement trois côtés entiers, chacun compris entre −1 000 000 000 et 1 000 000 000. Les côtés non positifs sont invalides.
Exemples
Entrée :
sides = [5, 5, 8]
Sortie attendue :
expected = "isosceles"
Entrée :
std::vector<long long> sides = {5, 5, 8};
Sortie attendue :
std::string expected = "isosceles";
Entrée :
long[] sides = new long[] {5, 5, 8};
Sortie attendue :
string expected = "isosceles";
Explication
Deux côtés valent 5, et 5 + 5 > 8, donc il s'agit d'un triangle isocèle valide.
Entrée :
sides = [1, 2, 3]
Sortie attendue :
expected = "invalid"
Entrée :
std::vector<long long> sides = {1, 2, 3};
Sortie attendue :
std::string expected = "invalid";
Entrée :
long[] sides = new long[] {1, 2, 3};
Sortie attendue :
string expected = "invalid";
Explication
1 + 2 est égal à 3. L'inégalité stricte échoue, donc ces longueurs forment une ligne.
Références
Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.