15 lines
287 B
Text
15 lines
287 B
Text
func dif(arr) {
|
|
gather {
|
|
range(0, arr.end-1).each { |i|
|
|
take(arr[i+1] - arr[i]);
|
|
}
|
|
}
|
|
}
|
|
|
|
func difn(n, arr) {
|
|
n.times { arr = dif(arr) };
|
|
arr;
|
|
}
|
|
|
|
say dif([1, 23, 45, 678]); # => [22, 22, 633]
|
|
say difn(2, [1, 23, 45, 678]); # => [0, 611]
|