Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Borderou de evaluare (job #471880) | Cod sursa (job #582262)
Cod sursa(job #582262)
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long prim[1000001],ma;
int i,j;
void ciur()
{double a;
a=sqrt(100000001);
for(i=2;i<=a;i++)
prim[i]=1;
for(i=2;i<=a;i++)
if(prim[i])
for(j=i*i;j<=a;j+=i)
prim[j]=0;
}
int main()
{ long long n;
int t,fm,nr,suma;
double baza;
f>>t;
for(j=1;j<=t;j++)
{ f>>n; nr=suma=1;
if(prim[n]) {nr*=2; suma*=(1+n);}
else {i=2; baza=2;
do
{fm=0;
while(n%i==0)
{fm++;
n/=i;}
nr*=(fm+1);
suma*=(pow(baza,fm+1)-1)/(i-1);
if(prim[n]==0 ) {i++; baza++;}
else {i=n; baza=n;}
}
while(n!=1);
}g<<nr<<" "<<suma%9973<<'\n';}
return 0;
}