Pagini recente » Cod sursa (job #1683795) | Cod sursa (job #772515) | Cod sursa (job #2887244) | Cod sursa (job #2799561) | Cod sursa (job #639058)
Cod sursa(job #639058)
#include<fstream>
#include<cmath>
using namespace std;
int main()
{
int n,i,p=1,m=2,a=0,j;
long long x,xx,s=1,b=1;
char prim[1000005]={0};
ifstream f("ssnd.in");
ofstream g("ssnd.out");
f>>n;prim[2]=1;
for (i = 3; i <=1000000; i+=2)
prim[i]=1;
for (i = 3; i <=1000000; i+=2)
if(prim[i])
for (j = i+i; j <= 100000; j += i)
prim[j] = 0;
for(i=1;i<=n;i++)
{
f>>x;
xx=x;
while(x!=1&&m<=sqrt((float)xx))
{
if(prim[m])
{
while(x%m==0)
{
a++;
x=x/m;
}
p=p*(a+1);
do{
b=b*m;
a--;
}while(a>=0);
s=s*(b-1)/(m-1);
b=1;a=0;
if(m==2)
m++;
else
m+=2;
}
else
if(m==2)
m++;
else
m+=2;
}
if(x!=1)
{ p=p*2;
s=s*(x*x-1)/(x-1);
}
m=2;
s=s%9973;
g<<p<<" "<<s<<'\n';
s=1;p=1;
}
return 0;
}