Pagini recente » Cod sursa (job #631032) | Cod sursa (job #665753) | Cod sursa (job #2100861) | Cod sursa (job #202730) | Cod sursa (job #1237756)
#include <fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int t,i,p,m,j,d[500000];
long long s,n,n2,fct,nr;
bool prim[1000005];
void ciur()
{
long long i,j;
m=0;
for(i=2; i<=1000000; i++)
if(!prim[i])
{
d[++m]=i;
for(j= i * i; j<=1000000; j+=i)
prim[j]=true;
}
return;
}
int main()
{
f>>t;
ciur();
for(i=1; i<=t; i++)
{
f>>n;
s=1;
nr=1;
j=1;
n2=n;
while(n>1&&j<=m)
{
p=0;
fct=d[j];
while(n%d[j]==0)
{
p++;
fct*=d[j];
n/=d[j];
}
nr*=(p+1);
if (p>0) s*=(fct-1)/(d[j]-1);
s=s%9973;
j++;
}
if(nr==1)
{
nr=2;
s=(1+n2)%9973;
}
g<<nr<<" "<<s<<'\n';
}
return 0;
}