Pagini recente » Cod sursa (job #2752578) | Cod sursa (job #745146) | Cod sursa (job #490088) | Cod sursa (job #1345110) | Cod sursa (job #1017271)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream f ("ssnd.in");
ofstream g ("ssnd.out");
long long putere (long x, long y)
{
long i;
long long p;
for (i=1;i<=y;i++)
p=p*x;
return p;
}
void desc (long long n)
{
long i=2,j,nrdiv,sdiv,s;
long d[1000000],p[1000000];
long nr=0,aux=n;
for (j=1;j<1000000;j++)
d[j]=0;
nrdiv=1;sdiv=1;
while (aux!=1)
{
if (aux%i==0)
{
p[nr++]=i;
while (aux%i==0)
{aux=aux/i;d[nr]++;}}
i++;}
for (i=1;i<=nr;i++)
{nrdiv=nrdiv*(d[i]+1);
s=putere (p[i],d[i]+1)/(p[i]-1);
sdiv= sdiv*s;
}}
int main()
{
int t,i; long n;
long nrdiv,sdiv;
f>>t;
for (i=1;i<=t;i++)
{
f>>n;
desc(n);
g<<nrdiv<<" "<<sdiv%1993<<endl;
}
f.close();g.close();
return 0;
}