En anglais, les noms peuvent prendre deux formes différentes selon qu'ils sont singuliers (un) ou pluriels (autre chose). Par exemple, nous dirions "1 chien" mais "2 chiens", "0 chien", "57 chiens" et ainsi de suite.
En russe, il existe trois catégories. Au lieu de "1 chien, 2 chiens, 5 chiens", ce serait en russe "1 собака, 2 собаки, 5 собак".
Les catégories sont réparties selon la logique suivante:
- "Singulier": utilisé pour 1 et tout nombre se terminant par 1, sauf pour les nombres se terminant par 11.
- Exemples: 1 собака, 21 собака, 101 собака
- "Peu": utilisé pour 2, 3 et 4 et tout nombre se terminant par 2, 3 ou 4, sauf pour les nombres se terminant par 12, 13 et 14.
- Exemples: 2 pièces, 3 pièces, 4 pièces, 32 pièces, 43 pièces, 104 pièces, 104 pièces
- "Beaucoup": tout ce qui n'est pas considéré comme "Singulier" ou "Peu".
- Exemples: 0 pièce, 5 pièces, 11 pièces, 13 pièces, 25 pièces, 111 pièces, 114 pièces, 114 pièces
Le défi
Étant donné une entrée entière dans la plage [0, 1000], retournez 1si elle appartient à la catégorie "singulier", 2si elle appartient à la catégorie "quelques" et 5si elle appartient à la catégorie "plusieurs".
Votre programme peut être une fonction ou il peut utiliser STDIN. Vous pouvez imprimer sur STDOUT ou renvoyer une valeur à partir de la fonction
Il s'agit d'un défi de golf de code , donc la solution avec le moins d'octets gagne.
1, 2et 5en particulier? Aussi, pourquoi ne puis-je pas utiliser de codes de sortie?