给定一个输入n
,输出的值Fransén-罗宾逊常数与n
数字的小数点后进行舍入。
规则
- 您可以假设所有输入都是1到60之间的整数。
- 您可能不存储任何相关值-必须计算常数,不能调用该常数。
- 四舍五入必须符合以下条件:
- 如果最后一位之后的数字小于5,则最后一位必须保持相同。
- 如果最后一位之后的数字大于或等于5,则最后一位必须加1。
- 您只能输出前
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
如果您不支持任意精度浮点数怎么办?
—
瑕疵的2016年
@flawr我想这门语言必须使用某种形式的字符串连接或类似形式。否则,它可能不是挑战的语言。
—
艾迪生·克伦普
太糟糕了,这基本上只能使我们对数字进行硬编码。PS:为什么不添加
—
更加模糊的
f(60)
测试用例?这样,参与者就不必从外部获取它=)
@flawr硬编码是由规则不允许2
—
艾迪克伦普
尾随零可以吗?
—
Mego