Pagini recente » Cod sursa (job #1885292) | Cod sursa (job #1671263) | Cod sursa (job #989598) | Cod sursa (job #2350854) | Cod sursa (job #638821)
Cod sursa(job #638821)
#include<fstream>
using namespace std;
int main()
{
int n,i,p=1,m=2,a=0,j;
long long x,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;
while(x!=1&&m<=sqrt((float)x))
{
if(prim[m])
{
while(x%m==0)
{
a++;
x=x/m;
}
p=p*(a+1);
for(j=0;j<=a;j++)
b=b*m;
s=s*(b-1)/(m-1);
a=0;b=1;
if(m==2)
m++;
else
m+=2;
}
else
if(m==2)
m++;
else
m+=2;
}
if(x!=1)
{ p=p*2;
s=s+x;
}
m=2;
g<<p<<" "<<s<<'\n';
s=1;p=1;
}
return 0;
}