З огляду на введення n
, виведіть значення константи Франсена-Робінсона з n
цифрами після десяткового знака з округленням.
Правила
- Ви можете припустити, що всі входи є цілими числами від 1 до 60.
- Ви не можете зберігати пов'язані значення - константа повинна бути обчислена, а не відкликана.
- Округлення потрібно проводити за такими критеріями:
- Якщо цифра після кінцевої цифри менше п'яти, підсумкова цифра повинна залишатися такою ж.
- Якщо цифра після кінцевої цифри більша або дорівнює п’яти, підсумкова цифра повинна бути збільшена на одиницю.
- Потрібно виводити лише перші
n+1
цифри. - Застосовуються стандартні лазівки.
Випробування
>>> f(0)
3
>>> f(1)
2.8
>>> f(11)
2.80777024203
>>> f(50)
2.80777024202851936522150118655777293230808592093020
>>> f(59)
2.80777024202851936522150118655777293230808592093019829122005
>>> f(60)
2.807770242028519365221501186557772932308085920930198291220055
Що робити, якщо у вас немає підтримки для довільної точності поплавців?
—
flawr
@flawr Я припускаю, що мові доведеться використовувати якусь форму об'єднання рядків або подібну. Інакше це може бути не мовою для цього виклику.
—
Аддісон Кримп
Шкода, що в основному залишає нас лише жорстке кодування чисел. PS: Чому ви не додасте
—
доносити
f(60)
до тестових випадків? Таким чином учасникам не доведеться це
@flawr Hardcoding заборонено правилом 2.
—
Addison Crump
Очеретні нулі добре?
—
Мего