egison-3.7.8: sample/math/number/euler-totient-function.egi
(define $φ
(lambda [$n]
(* n
(product (map (lambda [$p] (- 1 (/ 1 p)))
(unique (p-f n)))))))
(take 100 (map2 2#[%1 %2 (p-f %2)] nats (map φ nats)))
{[1 1 {}]
[2 1 {}]
[3 2 {2}]
[4 2 {2}]
[5 4 {2 2}]
[6 2 {2}]
[7 6 {2 3}]
[8 4 {2 2}]
[9 6 {2 3}]
[10 4 {2 2}]
[11 10 {2 5}]
[12 4 {2 2}]
[13 12 {2 2 3}]
[14 6 {2 3}]
[15 8 {2 2 2}]
[16 8 {2 2 2}]
[17 16 {2 2 2 2}]
[18 6 {2 3}]
[19 18 {2 3 3}]
[20 8 {2 2 2}]
[21 12 {2 2 3}]
[22 10 {2 5}]
[23 22 {2 11}]
[24 8 {2 2 2}]
[25 20 {2 2 5}]
[26 12 {2 2 3}]
[27 18 {2 3 3}]
[28 12 {2 2 3}]
[29 28 {2 2 7}]
[30 8 {2 2 2}]
[31 30 {2 3 5}]
[32 16 {2 2 2 2}]
[33 20 {2 2 5}]
[34 16 {2 2 2 2}]
[35 24 {2 2 2 3}]
[36 12 {2 2 3}]
[37 36 {2 2 3 3}]
[38 18 {2 3 3}]
[39 24 {2 2 2 3}]
[40 16 {2 2 2 2}]
[41 40 {2 2 2 5}]
[42 12 {2 2 3}]
[43 42 {2 3 7}]
[44 20 {2 2 5}]
[45 24 {2 2 2 3}]
[46 22 {2 11}]
[47 46 {2 23}]
[48 16 {2 2 2 2}]
[49 42 {2 3 7}]
[50 20 {2 2 5}]
[51 32 {2 2 2 2 2}]
[52 24 {2 2 2 3}]
[53 52 {2 2 13}]
[54 18 {2 3 3}]
[55 40 {2 2 2 5}]
[56 24 {2 2 2 3}]
[57 36 {2 2 3 3}]
[58 28 {2 2 7}]
[59 58 {2 29}]
[60 16 {2 2 2 2}]
[61 60 {2 2 3 5}]
[62 30 {2 3 5}]
[63 36 {2 2 3 3}]
[64 32 {2 2 2 2 2}]
[65 48 {2 2 2 2 3}]
[66 20 {2 2 5}]
[67 66 {2 3 11}]
[68 32 {2 2 2 2 2}]
[69 44 {2 2 11}]
[70 24 {2 2 2 3}]
[71 70 {2 5 7}]
[72 24 {2 2 2 3}]
[73 72 {2 2 2 3 3}]
[74 36 {2 2 3 3}]
[75 40 {2 2 2 5}]
[76 36 {2 2 3 3}]
[77 60 {2 2 3 5}]
[78 24 {2 2 2 3}]
[79 78 {2 3 13}]
[80 32 {2 2 2 2 2}]
[81 54 {2 3 3 3}]
[82 40 {2 2 2 5}]
[83 82 {2 41}]
[84 24 {2 2 2 3}]
[85 64 {2 2 2 2 2 2}]
[86 42 {2 3 7}]
[87 56 {2 2 2 7}]
[88 40 {2 2 2 5}]
[89 88 {2 2 2 11}]
[90 24 {2 2 2 3}]
[91 72 {2 2 2 3 3}]
[92 44 {2 2 11}]
[93 60 {2 2 3 5}]
[94 46 {2 23}]
[95 72 {2 2 2 3 3}]
[96 32 {2 2 2 2 2}]
[97 96 {2 2 2 2 2 3}]
[98 42 {2 3 7}]
[99 60 {2 2 3 5}]
[100 40 {2 2 2 5}]}