描述
您会得到一个范围函数的结果,其中每个元素都已四舍五入到最接近的整数。您的目标是恢复原始列表。
例如,以下函数(在Python3中)将为您的程序产生一个输入:
from numpy import arange, floor
def floored_range(A, B, C):
return list(floor(arange(A, B, C)))
程序的输出应该是原始数据的有效猜测。在这里,有效的猜测意味着它必须在落地时与输入完全匹配,并且必须是范围函数的可能输出(即,在绘制时必须形成一条完美的直线)。
例子
Input: [1,2,3,4]
Output: [1,2,3,4]
Input: [1,2,3,4]
Output: [1.9,2.7,3.5,4.3]
Input: [1,2,3,4,5,5]
Output: [1.9,2.7,3.5,4.3,5.1,5.9]
Input: [1,1,2,2,3,3,4,4]
Output: [1,1.5,2,2.5,3,3.5,4,4.5]
Input: [1,1,2,3,3,4]
Output: [1,1.7,2.4,3.1,3.8,4.5]
Input: [56, 54, 52, 50, 48, 45, 43, 41, 39, 37, 35, 32, 30, 28, 26, 24, 22, 19, 17, 15, 13, 11]
Output: [56.7 , 54.541, 52.382, 50.223, 48.064, 45.905, 43.746, 41.587,
39.428, 37.269, 35.11 , 32.951, 30.792, 28.633, 26.474, 24.315,
22.156, 19.997, 17.838, 15.679, 13.52 , 11.361]
您应该至少要求输出值之一为十进制,否则我们可能每次都返回输入。
—
随机家伙
@Therandomguy 绘制时必须形成一条完美的直线
—
Arnauld
哦 我没看到这个。它应该使事情变得有趣。
—
随机的家伙
使用问题中的公式,
—
凯尔·G
A, B, C可以是任何三个浮点数。输入下限范围可以例如从开始,在56.7结束10.2并具有的步长-2.159。唯一重要的是,输出的点在铺展时与输入完全匹配。我添加了一个示例来说明这一点。
@Rod正如我看到的那样,原始的第二测试情况的一点是,以说明几个输出是可能对于相同的输入
—
路易斯Mendo