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 1
si elle appartient à la catégorie "singulier", 2
si elle appartient à la catégorie "quelques" et 5
si 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
, 2
et 5
en particulier? Aussi, pourquoi ne puis-je pas utiliser de codes de sortie?