# 99 questions/Solutions/37

### From HaskellWiki

< 99 questions | Solutions(Difference between revisions)

Line 8: | Line 8: | ||

This just uses a list comprehension to build each term of the product in the formula for phi, then multiplies them all. | This just uses a list comprehension to build each term of the product in the formula for phi, then multiplies them all. | ||

+ | |||

+ | |||

+ | [[Category:Programming exercise spoilers]] |

## Latest revision as of 19:46, 18 January 2014

(**) Calculate Euler's totient function phi(m) (improved).

Given prime_factors_mult from problem 36, we get

totient m = product [(p - 1) * p ^ (c - 1) | (p, c) <- prime_factors_mult m]

This just uses a list comprehension to build each term of the product in the formula for phi, then multiplies them all.