Algoritmul, pas cu pas
Nu putem calcula F(k) pentru fiecare k separat: N urcă până la 1015, iar T poate fi 105. Trebuie o formulă care dă suma direct.
Pleacă de la definiție. F(k) e cel mai mic număr care nu divide k. Asta înseamnă că toate numerele mai mici, 1,2,…,F(k)−1, divid pe k. Iar 1,2,…,m divid simultan pe k exact când cel mai mic multiplu comun al lor divide pe k:
1,2,…,m∣k⟺lcm(1,2,…,m)∣k
Notăm Lm=lcm(1,2,…,m). Atunci F(k)−1 e cel mai mare m pentru care Lm∣k, deci putem număra:
F(k)=1+#{m≥1:Lm∣k}