Pagini recente » Cod sursa (job #1886637) | Cod sursa (job #1320233) | Cod sursa (job #2110737) | Cod sursa (job #2894686) | Cod sursa (job #1231505)
#include <iostream>
#include <fstream>
#include <cmath>
#define sDIMN 1000005
#define mod 9973
using namespace std;
int t,sum,nrDiv,v[sDIMN];
bool check[sDIMN];
int main()
{
long long n;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
int dim=1;
v[1]=2;
for(int i=3;i<sDIMN;i+=2)
{
if(check[i]==true)
{
for(int j=i+i+i;j<sDIMN;j+=(i<<1))
check[j]=false;
v[++dim]=i;
}
}
in >> t;
while(t!=0)
{
in>>n;
nrDiv=1;
sum=1;
for(int i=1;v[i]*v[i]<=n && i<=dim;++i)
{
if(n%v[i]==0)
{
int cnt=0;
long long aux=n;
while(n%v[i]==0)
{
n/=v[i];
cnt++;
}
nrDiv*=cnt+1;
sum*=((aux/n)*v[i]-1)/(v[i]-1);
sum%=mod;
}
}
if (n > 1)
{
nrDiv*=2;
sum = (sum*(n*n-1)/(n-1))%mod;
}
out << nrDiv<<" "<< sum<<endl;
t--;
}
return 0;
}