Você é um jovem chef talentoso que acaba de receber a posição de sous chef no restaurante indiano mais prestigiado do mundo. Você tem pouca experiência com a preparação da culinária indiana, mas está determinado, e decide provar a si mesmo. Você decide se tornar o dosa líder especialista em . Para fazer isso, você deve não apenas dominar a criação de dosas, mas também poder escalá-las para serem arbitrariamente grandes.
Você encontra uma receita promissora para a massa dosa:
- 1 xícara de arroz
- 1 xícara ukda chawal
- 1/2 xícara de chá
- 1/4 xícara de poha
- 1/4 colher de chá de sementes de meti
- Sal a gosto
- Água conforme necessário
Isso fará uma dosa aproximadamente de 1/2 metro de comprimento.
Desafio
Escreva um programa ou função que informe à equipe do restaurante exatamente o que é necessário para fazer uma única dose de um múltiplo inteiro da receita fornecida .O espaço é pequeno na cozinha, então você deseja que seu código seja o mais curto possível. O código mais curto vence, com empates indo para o post anterior.
As colheres e xícaras de medição são fornecidas nos seguintes tamanhos padrão: 1/4, 1/3, 1/2, 2/3, 3/4 e 1. Para evitar irritar a equipe da cozinha, as medições devem ser relatadas na maior unidade da cujo número pode ser escrito como números mistos usando apenas tamanhos padrão .
As medidas são propagadas para tamanhos maiores de acordo com a seguinte convenção:
- 3 colheres de chá == 1 colher de sopa
- 4 colheres de sopa == 1/4 xícara
Assim, para um múltiplo de 12, 1/4 de colher de chá de sementes de meti se torna 1 colher de sopa. No entanto, para um múltiplo de 13, torna-se 3 1/4 de colher de chá. Caso contrário, não seria representado em tamanhos padrão.
A equipe de garçons deve ser capaz de levar o dosa para as mesas. Para garantir que a dosa não pare em trânsito, instrua-os a transportar a dosa em equipes. Cada pessoa pode transportar no máximo um metro de dose. Portanto, para uma receita única ou dupla, apenas uma pessoa é necessária para carregá-la. A equipe de espera é menos eficaz se eles são cortados em pedaços fracionários, portanto, um número inteiro de garçons é sempre necessário.
Entrada
Tome um número inteiro positivo via STDIN (ou alternativa mais próxima), argumento de linha de comando ou argumento de função. Esse número determina o fator de escala da receita e pode ser tão pequeno quanto 1, mas não maior que 2 32 -1. Pode ser qualquer número inteiro nesse intervalo.
Saída
Imprima em STDOUT (ou alternativa mais próxima) a lista de ingredientes escalados de acordo com a entrada, bem como o número de garçons necessários para transportar a dosa. Os ingredientes devem ser listados na ordem indicada acima e no formato fornecido abaixo.
Exemplos
Entrada:
2
Saída:
2 cups rice
2 cups ukda chawal
1 cup urad dal
1/2 cup poha
1/2 tsp methi seeds
Salt to taste
Water as needed
1 waiter
Observe que "cup" muda para "cups" quando o valor é maior que 1. "tsp" não muda. "garçom", como "xícara", torna-se plural.
Entrada:
5
Saída:
5 cups rice
5 cups ukda chawal
2 1/2 cups urad dal
1 1/4 cups poha
1 1/4 tsp methi seeds
Salt to taste
Water as needed
3 waiters
Valores não inteiros maiores que 1 são representados como números mistos, isto é, um número inteiro seguido por uma fração reduzida.
Nota: O título vem de um vídeo relevante .