http://projecteuler.net/index.php?section=problems&id=176

因数分解

a^2+b^2=c^2から

a^2 = (c-b)(c+b)となる

c-b = p, c+b=qとすると

c=¥frac{p+q}{2},b=¥frac{q-p}{2}だから

(p,q)の組の数を考えればよい。(ただし、p,qは2の倍数)

import Number
p176 = (2*).product.zipWith (^) primes.reverse.map (`div` 2).factors.(+1).(2*)

調子に乗ってポインタフリーにしてみた。