Let φ be Euler's totient function, i.e. for a natural number n, φ(n) is the number of k, 1 k n, for which gcd(k,n) = 1.
By iterating φ, each positive integer generates a decreasing chain of numbers ending in 1.
E.g. if we start with 5 the sequence 5,4,2,1 is generated.
Here is a listing of all chains with length 4:
5,4,2,1
7,6,2,1
8,4,2,1
9,6,2,1
10,4,2,1
12,4,2,1
14,6,2,1
18,6,2,1
Only two of these chains start with a prime, their sum is 12.
What is the sum of all primes less than 40000000 which generate a chain of length 25?
Euler这周的新题,发现我很没文化,居然不知道有欧拉函数这种现成的东西,还自己推了半天没推出来,最后还是觉得肯定有这么个函数才百度出来的。代码没优化的时候大概用了两个小时算出来结果,现在优化以后的大概一分钟。优化的方法就是一直用跟Eratosthems筛选法类似的思想,从小到大对每个素数的所有倍数做处理