Cerința
Pe prima linie a fișierului suminvdiv.in
se găsesc cel mult 1000
de numere naturale distincte mai mici decât 10.000.000.000
. Scrieți un program care determină pentru fiecare număr citit x
suma \( s= 1/{d}_{1} + 1/{d}_{2} + .. + 1/{d}_{i} \), unde \( {d}_{1}, {d}_{2}, …., {d}_{i} \) sunt divizorii numărului x
. Valorile determinate se vor afișa separate printr-un spațiu.
Date de intrare
Fișierul de intrare suminvdiv.in
conține pe prima linie cel mult 1000
de numere naturale distincte mai mici decât 10.000.000.000
separate prin spații.
Date de ieșire
Fișierul de ieșire suminvdiv.out
va conține pe prima linie valorile determinate cu exact 2
zecimale pentru fiecare număr x
din fișierul de intrare, valori separate printr-un spațiu.
Restricții și precizări
- pe prima linie a fișierului sunt cel mult
1000
de numere - numerele de pe prima linie a fișierului de intrare sunt mai mici decât
10.000.000.000
- rezultatul este considerat corect dacă diferența dintre fiecare valoare afișată și cea corectă este mai mică decât
0.01
Exemplu:
suminvdiv.in
12 9 123 78 34 278313 349012 6 24242 900000
suminvdiv.out
2.33 1.44 1.37 2.15 1.59 1.58 1.75 2.00 1.71 3.55
Explicație
- Divizorii lui
12
sunt:1
,2
,3
,4
,6
și12
……\(s=( \frac{1}{1} + \frac{1}{2} + \frac{1}{3} + \frac{1}{4} + \frac{1}{6} + \frac{1}{12}) = 2.33\) - Divizorii lui
9
sunt:1
,3
și9
……\(s=( \frac{1}{1} + \frac{1}{3} + \frac{1}{9}) = 1.44\), etc.