Cod sursa(job #1790888)
| Utilizator | Data | 28 octombrie 2016 20:36:43 | |
|---|---|---|---|
| Problema | Suma si numarul divizorilor | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.78 kb |
#include <fstream>
#include <cmath>
using namespace std;
ifstream cin("ssnd.in");
ofstream cout("ssnd.out");
unsigned long long n,t,c,s,r; //t nr de teste ; n nr curent ; s suma curenta; c cardinalul curent; r radicalul nr curent;
main()
{
cin >> t;
for ( ; t; t--)
{
cin >> n;
c=2; s=n+1; r=sqrt(n);
for (unsigned long long i=2; i<=r; i++)
{
if (n % i==0)
{
if (i == (n/i))
{
s=(s+i) % 9973;
c++;
}
else
{
s= (s + i + n/i) % 9973;
c+=2;
}
}
}
cout << c << ' ' << s << '\n';
}
}
