Pagini recente » Cod sursa (job #440260) | Cod sursa (job #2642510) | Cod sursa (job #560691) | Cod sursa (job #666149) | Cod sursa (job #1992705)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long prime[78510],k;
int viz[1000004];
void ciur()
{
prime[++k]=2;
int i;
for( i=3; i<1000; i+=2)
if(viz[i]==0)
{
prime[++k]=i;
for(int j=i*i; j<=1000000; j+=2*i)
viz[j]=1;
}
for(;i<=1000000;i+=2)
if(viz[i]==0)
prime[++k]=i;
}
void nr_divi()
{
long long n, nr=1,sum=1;
f>>n;
for(int i=1; i<=k && i*i<=n; i++)
{
int p=0, putere=1,aux=1;
while(n%prime[i]==0)
{n/=prime[i]; p++;
putere*=prime[i];
aux=(aux+putere);
}
nr=(nr*(p+1))%9973;
sum=(sum*aux)%9973;
}
if(n>=2)
{
nr=(nr*2)%9973;
sum=(sum*(n+1))%9973;
}
g<<nr<<' '<<sum<<'\n';
}
int main()
{
ciur();
int t;
f>>t;
while(t)
nr_divi(),t--;
return 0;
}