Pagini recente » Cod sursa (job #1422885) | Cod sursa (job #3179770) | Cod sursa (job #3273787) | Cod sursa (job #3221599) | Cod sursa (job #1261064)
#include<fstream>
using namespace std;
long long k,maxim;
bool fol[1000001];
void ciur()
{
long long i,j;
for(i=1;i*i<=maxim;i++)fol[i]=1;
for(i=2;i*i<=maxim;i++)
if(fol[i])
for(j=i+i;j*i<=maxim;j+=i)
fol[j]=0;
}
int main()
{
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long n[11]={0},i=0,nr=0,l=0,p=0,nn=0,suma=0,put=0,j=0;
f>>nn;
for(i=1;i<=nn;i++)
{
f>>n[i];
if(maxim<n[i]) maxim=n[i];
}
ciur();
for(l=1;l<=nn;l++)
{
nr=1;
p=1;
suma=1;
for(i=2;i*i<=n[l];i++)
{
p=0;
if(n[l]%i==0 && fol[i]==1)
{ put=1;
while(n[l]%i==0)
{put=put*i;
n[l]=n[l]/i;
p++;
}
nr=nr*(p+1);
if(put!=1)
suma=suma*((put*i-1)/(i-1));
}
}
if(n[l]!=1)
{suma=suma*(n[l]*n[l]-1)/(n[l]-1);
nr=nr*2;}
g<<nr<<' '<<suma<<'\n';
}
f.close();
g.close();
return 0;
}