Все мозги сломал!!11 Все руки стер о пиc^W клавиатуру!!11
Вот тред: Не могу написать код по заданному алгоритму Вот его формула, по которой надо посчитать
M_j (p, a) = p_0 * a_j + Σ_{i=1}^{j-1} [p_i * (a_j - a_i)]
Я написал на J только для варианта M_j, где j = n, длине массива
a =: 1 2 3 4
p =: 1 0 2 1
s1 =: {.@:[ * {:@:]
s2 =: +/@:[ * {:@:]
s3 =: +/@:*
total =: s1 + s2 - s3
p total a
=> 9
А как написать для произвольного j в tacit нотации? Хочу такое:
p (total order j) a
Люди, не познавшие дзен, могут прислать решение на Haskell, тоже в point free (хотя это не так интересно)