Açıklama
Her öğenin en yakın tam sayıya yuvarlandığı bir aralık işlevinin sonuçları verilir. Amacınız orijinal listeyi kurtarmaktır.
Örneğin, aşağıdaki işlev (Python3'te) programınız için bir girdi oluşturur:
from numpy import arange, floor
def floored_range(A, B, C):
return list(floor(arange(A, B, C)))
Programınızın çıktısı, orijinal verilerin geçerli bir tahmini olmalıdır. Burada, geçerli tahmin, katlandığında girişle tam olarak eşleşmesi ve bir aralık işlevinin olası bir çıkışı olması gerektiği anlamına gelir (yani, grafik halinde mükemmel düz bir çizgi oluşturmalıdır).
Örnekler
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]
A, B, Cherhangi bir üç yüzer olabilir. Giriş kat aralığı, örneğin başlangıç 56.7, bitiş 10.2ve bitiş boyutlarına sahip olabilir -2.159. Önemli olan tek şey, katlandığında çıkardığınız noktaların girdiyle tam olarak eşleşmesidir. Bunu gösteren bir örnek ekledim.