Pagini recente » Cod sursa (job #3229813) | Cod sursa (job #1197656) | Cod sursa (job #2693014) | Cod sursa (job #1874609) | Cod sursa (job #1948205)
#include <bits/stdc++.h>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long int n,radical,ciur[1000001],a[1000001];
long long int i,j,contor;
long long int SUMA,d,p,putere,nd,ok,xu;
int main()
{
radical=1000000;
for(i=2; i<=radical; i++)
ciur[i]=1;
for(i=2; i*i<=radical; i++)
if(ciur[i])
for(j=2; j*i<=radical; j++)
ciur[i*j]=0;
contor=0;
for(i=2; i<=radical; i++)
if(ciur[i])
a[++contor]=i;
f>>xu;
for(ok=1; ok<=xu; ok++)
{
f>>n;
SUMA=1;
d=a[1];
contor=2;
nd=1;
while(d*d<=n&&n>=1)
{
p=0;
while(n%d==0)
{
p++;
n/=d;
}
if(p)
{
putere=1;
for(j=1; j<=p+1; j++)
putere*=d;
SUMA*=(putere-1)/(d-1);
nd*=(p+1);
}
d=a[contor];
contor++;
}
if(n!=1)
{
nd*=2;
SUMA*=(n*n-1)/(n-1);
}
g<<nd<<' '<<SUMA<<'\n';
}
f.close();
g.close();
return 0;
}