Pagini recente » Cod sursa (job #3279251) | oni_2010_ziua1 | Cod sursa (job #2239120) | Borderou de evaluare (job #1982223) | Cod sursa (job #1006610)
#include <fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int i,j,nr,p[100000],nrr,nre,t;
long long n,s,b;
bool ok;
int main()
{
f>>t;
p[1]=2;
nr=1;
for(i=3; i<=999999; i+=2)
{
ok=true;
for(j=1; j<=nr && p[j]*p[j]<=i; ++j )
if(i%p[j]==0)
{
ok=false;
break;
}
if(ok) p[++nr]=i;
}
for(i=1; i<=t; ++i)
{
f>>n;
nre=1;
s=1;
for(j=1; j<=nr && n>1; ++j)
{
b=p[j];
nrr=1;
while(n%p[j]==0)
{
n/=p[j];
b*=p[j];
++nrr;
}
nre*=nrr;
s=s*(b-1)/(p[j]-1);
}
g<<nre<<" "<<s<<'\n';
}
return 0;
}