這裏的夥計是這個算法,用於找到所有的phi(i)= eulers totient(i) = i < = n。Euler's Sieve for Totient Calculation
int phi[n + 1];
for (int i = 1; i <= n; ++i) phi[i] = i;
//invariant: phi(x) for all 1 <= x < d is calculated during the
//start of the dth iteration.
for (int d = 1; d <= n; ++d) { //divisors
for (int j = 2 * d; j <= n; j += d) phi[j] -= phi[d];
}
如何上面的公式幫助我們實現上面的算法?
爲什麼downvote? – user3263245
我沒有downvote,但這聽起來像它可能是家庭作業,這不是一個明確的問題。 –
不,它不是作業,我想了解我在代碼中找到的算法。基本上我已經使用歐拉的產品配方使用素數完成篩分,但我想了解這一點。理解困難。所以請幫助。 – user3263245