In inglese, i nomi possono assumere due forme diverse a seconda che siano singolari (uno) o plurali (qualsiasi altra cosa). Ad esempio, dovremmo dire "1 cane" ma "2 cani", "0 cani", "57 cani" e così via.
In russo, ci sono tre categorie. Invece di "1 cane, 2 cani, 5 cani", in russo sarebbe "1 собака, 2 собаки, 5 собак".
Le categorie sono divise secondo la seguente logica:
- "Singolare": utilizzato per 1 e qualsiasi numero che termina con 1, ad eccezione dei numeri che terminano con 11.
- Esempi: 1 собака, 21 собака, 101 собака
- "Pochi": usato per 2, 3 e 4 e qualsiasi numero che termina con 2, 3 o 4, tranne per i numeri che terminano con 12, 13 e 14.
- Esempi: 2 собаки, 3 собаки, 4 собаки, 32 собаки, 43 собаки, 104 собаки
- "Molti": tutto ciò che non è considerato "Singolare" o "Pochi".
- Esempi: 0 собак, 5 собак, 11 собак, 13 собак, 25 собак, 111 собак, 114 собак
La sfida
Dato un input intero nell'intervallo [0, 1000], restituisce 1
se appartiene alla categoria "singolare", 2
se appartiene alla categoria "pochi" e 5
se appartiene alla categoria "molti".
Il tuo programma può essere una funzione o può utilizzare STDIN. È possibile stampare su STDOUT o restituire un valore dalla funzione
Questa è una sfida del codice golf , quindi vince la soluzione con il minor numero di byte.
1
, 2
e 5
in particolare? Inoltre, perché non posso usare i codici di uscita?