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