Dada uma entrada n
, imprima o valor da constante de Fransén-Robinson com n
dígitos após a casa decimal, com arredondamento.
Regras
- Você pode assumir que todas as entradas são números inteiros entre 1 e 60.
- Você não pode armazenar nenhum valor relacionado - a constante deve ser calculada, não recuperada.
- O arredondamento deve ser realizado com os seguintes critérios:
- Se o dígito após o dígito final for menor que cinco, o dígito final deverá permanecer o mesmo.
- Se o dígito que segue o dígito final for maior ou igual a cinco, o dígito final deverá ser incrementado em um.
- Você só deve produzir os primeiros
n+1
dígitos. - Aplicam-se brechas padrão.
Casos de teste
>>> f(0)
3
>>> f(1)
2.8
>>> f(11)
2.80777024203
>>> f(50)
2.80777024202851936522150118655777293230808592093020
>>> f(59)
2.80777024202851936522150118655777293230808592093019829122005
>>> f(60)
2.807770242028519365221501186557772932308085920930198291220055
E se você não tiver suporte para flutuadores de precisão arbitrários?
—
Flawr 27/05
@ flawr Suponho que o idioma precisaria usar alguma forma de concatenação de strings ou similar. Caso contrário, pode não ser o idioma para esse desafio.
—
Addison Crump
Pena que, basicamente, só nos deixa codificar os números. PS: Por que você não adiciona
—
flawr
f(60)
aos casos de teste? Dessa forma, os participantes não teria que buscá-la externamente =)
@flawr hardcoding não é permitido pela regra 2.
—
Addison Crump
Os zeros à direita estão corretos?
—
Mego 27/05