隨着一系列具有START
,INCREMENT
和MAX
:算法來處理一系列的值
START = 100
INCREMENT = 30
MAX = 315
e.g. 100, 130, 160, 190, 220, 250, 280, 310
給定任意數量的X
回報:剩餘的系列
- 值,其中第一個值是
>= X
- 偏移量
Y
(追趕從X到系列第一個值所需的數量)。
例
In:
START = 100
INCREMENT = 30
MAX = 315
X = 210
Out:
Y = 10
S = 220, 250, 280, 310
UPDATE - 從MBO答案:
float max = 315.0;
float inc = 30.0;
float start = 100.0;
float x = 210.0;
float k0 = ceil((x-start)/inc) ;
float k1 = floor((max - start)/inc) ;
for (int i=k0; i<=k1; i++)
{
NSLog(@" output: %d: %f", i, start + i * inc);
}
output: 4: 220.000000
output: 5: 250.000000
output: 6: 280.000000
output: 7: 310.000000
MBO整數方法將是更好。
爲什麼-1?不是一個完整的問題?我問,因爲我不希望在未來遭到毆打。 – ToddB
可能想 - 因爲自己的努力還沒有被證明 – MBo