Pagini recente » Cod sursa (job #279725) | Cod sursa (job #10936) | Cod sursa (job #1253396) | Cod sursa (job #162054) | Cod sursa (job #1973524)
#include <fstream>
using namespace std;
ifstream cin("ssnd.in");
ofstream cout("ssnd.out");
const int w=1000005;
bool v[w];
int main()
{
v[1]=1;
int n,a,i,j,k;
for(i=4;i<=w;i=i+2)
v[i]=1;
for(i=3;i<=w;i++)
if(v[i]==0)
for(j=2*i;j<=w;j=j+i)
v[j]=1;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a;
int s1=1,s2=1;
for(j=1;j*j<=a;j++)
{
if(a%j==0)
{
if(v[j]==0)
{
int p=j,s=0;
while(a%p==0)
{
s++;
p=p*j;
}
s1=s1*(s+1);
s2=s2*(p-1)/(j-1);
}
if(j*j==a)
break;
if(v[a/j]==0)
{
int p=a/j,s=0;
while(a%p==0)
{
s++;
p=p*a/j;
}
s1=s1*(s+1);
s2=s2*(p-1)/(a/j-1);
}
}
}
cout<<s1<<" "<<s2<<"\n";
}
cin.close();
cout.close();
return 0;
}