Язык Haskell: О пользе и вреде лени: различия между версиями

м
 
<code>powers = map (2 ^ ) [0..]
toPowers' = (zipWith (*) powers) . toDigsI</code>
 
Вообще <code>zipWith (*) [<math>a_1, a_2, a_3, \dots</math>] [<math>b_1,b_2,b_3,\dots</math>]</code> равно <code>[<math>a_1*b_1, a_2*b_2, \dots</math>]</code>, где вместо звёздочки может стоять произвольная операция. В частности, <code>zipWith (+) [1, 2, 3] [10, 100, 1000]</code> даст в результате <code>[11, 102, 1003]</code>. В итоге имеем
18

правок