Pagini recente » Cod sursa (job #3148064) | Cod sursa (job #1293617) | Cod sursa (job #1768976) | Cod sursa (job #844567) | Cod sursa (job #1374809)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int a[80000];
int long long o=0, n, m, i, q, ok, l, k1, k2, v1, v2, u;
bool v[1000003];
void gen_ciur(int long long &o)
{
int i, k;
for(i=2; i<=1000003; i++)
{
if(v[i]==false)
{
v[i]=true;
a[++o]=i;
k=i+i;
while(k<1000000)
{
v[k]=true;
k=k+i;
}
}
}
}
int main()
{
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
fin>>n;
gen_ciur(o);
for(i=1; i<=n; i++)
{
fin>>m;
q=1;
ok=sqrt(m);
k1=1;
k2=1;
u=0;
while(a[q]<=m)
{
if(m%a[q]==0)
{l=0;
v1=1;
while(m%a[q]==0) {m/=a[q]; l++;}
k1*=(l+1);
while(l+1)
{
v1*=(a[q]);
l--;
}
v1--;
v2=(a[q]-1);
v1=v1/v2;
k2*=v1;
k2=k2%9973;
u=1;
}
q++;
}
fout<<k1<<" "<<k2<<"\n";
}
return 0;
}