Em inglês, os substantivos podem assumir duas formas diferentes, dependendo de serem singulares (uma) ou plural (qualquer outra coisa). Por exemplo, diríamos "1 cachorro", mas "2 cães", "0 cães", "57 cães" e assim por diante.
Em russo, existem três categorias. Em vez de "1 cão, 2 cães, 5 cães", em russo, seria "1 pessoa, 2 pessoas, 5 pessoas".
As categorias são divididas de acordo com a seguinte lógica:
- "Singular": usado para 1 e qualquer número que termina em 1, exceto para números que terminam em 11.
- Exemplos: 1 собака, 21 собака, 101 itens
- "Poucos": usados para 2, 3 e 4 e qualquer número que termina em 2, 3 ou 4, exceto para números que terminam em 12, 13 e 14.
- Exemplos: 2 pçs, 3 pçs, 4 pçs, 32 pçs, 43 pçs, 43 pçs, 104 pçs
- "Muitos": qualquer coisa que não seja considerada "Singular" ou "Pouca".
- Exemplos: 0 itens, 5 itens, 11 itens, 13 itens, 25 itens, 111 itens, 114 itens, 114 itens
O desafio
Dada uma entrada inteira no intervalo [0, 1000], retorne 1
se pertencer à categoria "singular", 2
se pertencer à categoria "poucos" e 5
se pertencer à categoria "muitos".
Seu programa pode ser uma função ou pode usar STDIN. Você pode imprimir em STDOUT ou retornar um valor da função
Este é um desafio de código de golfe , portanto, a solução com o menor número de bytes vence.
1
, 2
e 5
em particular? Além disso, por que não consigo usar códigos de saída?