Cod sursa(job #1418352)
| Utilizator | Data | 12 aprilie 2015 20:32:28 | |
|---|---|---|---|
| Problema | Suma si numarul divizorilor | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.85 kb |
#include <fstream>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
long long t, n, i, x;
long long putere, expo;
long long nrdiv, sumdiv;
int main()
{
fin >> t;
for (i=1; i<=t; i++)
{
fin >> n;
nrdiv=1;
sumdiv=1;
putere=2;
while (n!=1)
{
x=putere;
while (n % putere==0)
{
x*=putere;
expo++;
n/=putere;
}
if (expo!=0)
{
nrdiv*=expo+1;
x--;
sumdiv*=x / (putere-1);
sumdiv%=9973;
}
putere++;
expo=0;
}
fout << nrdiv << " " << sumdiv << '\n';
}
fin.close();
fout.close();
return 0;
}
