Pagini recente » Cod sursa (job #1478163) | Cod sursa (job #2658562) | Cod sursa (job #311096) | Cod sursa (job #2409466) | Cod sursa (job #3249595)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
const int lmax=1000000;
long long t,n,prime[80001],nrdiv,sumdiv,cpn,cnt;
bool v[lmax+1];
int main()
{
for(int i=2; i*i<=lmax; i++)
{
if(v[i]==0)
{
for(int j=i*i; j<=lmax; j+=i)
{
v[j]=1;
}
}
}
for(int i=2;i<=lmax; i++)
{
if(v[i]==0)
{
n++;
prime[n]=i;
}
}
fin>>t;
for(int i=1;i<=t;i++)
{
fin>>n;
int j=1;
nrdiv=1;
sumdiv=1;
while(prime[j]*prime[j]<=n)
{
cpn=n;
cnt=0;
while(n%prime[j]==0)
{
cnt++;
n/=prime[j];
}
nrdiv*=(cnt+1);
sumdiv*=(cpn/n*prime[j]-1)/(prime[j]-1);
sumdiv%=9973;
j++;
}
if(n!=1)
{
nrdiv*=2;
sumdiv*=(n*n-1)/(n-1);
sumdiv%=9973;
}
fout<<nrdiv<<" "<<sumdiv<<endl;
}
return 0;
}