Pagini recente » Cod sursa (job #152338) | Cod sursa (job #332731) | Cod sursa (job #1389716) | Cod sursa (job #207801) | Cod sursa (job #1157629)
#include<fstream>
#include<cmath>
using namespace std;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
short int ciur[500015]={0};
long long n,v[500005],nr=0;
void ciurr()
{
int i,j;
for(i=4;i<=500005;i+=2)
ciur[i]=1;
for(i=3;i<=500005;i+=2)
if(ciur[i]==0)
for(j=i*2;j<=500005;j+=i)
ciur[j]=1;
for(i=2;i<=500005;i++)
if(ciur[i]==0)
{
nr++;
v[nr]=i;
}
}
int main ()
{
long long i,j,a,val=0,p=0,nrdiv,suma,aux;
ciurr();
in>>n;
for(i=1;i<=n;i++)
{
in>>a;
val=0;
nrdiv=1;
suma=1;
while(a!=1)
{
val++;
p=0;
while(a%v[val]==0)
{
p++;
a/=v[val];
}
nrdiv*=p+1;
if(p>0)
{
aux=pow((double)v[val],(double)p+1);
suma*=(aux-1)/(v[val]-1);
suma%=9973;
}
}
out<<nrdiv<<' '<<suma<<'\n';
}
return 0;
}