Pagini recente » Cod sursa (job #1620189) | DeehoroEjkoli | Cod sursa (job #2942) | Cod sursa (job #25949) | Cod sursa (job #418645)
Cod sursa(job #418645)
#include <fstream>
using namespace std;
#define NMAX 1000002
bool prim[NMAX];
int p[NMAX];
int main()
{
int i,j, z6=1000000, np=0, t, pt,d; long long n, nd, sum,dp;
for (i=2;i<=z6;++i)
if (!prim[i])
{
p[++np]=i;
for (j=i+i;j<=z6;j+=i)
prim[j]=true;
}
ifstream fin("ssnd.in"); ofstream fout("ssnd.out");
fin>>t;
for (i=1;i<=t;++i)
{
fin>>n;
if (n<z6)
if (!prim[n]) { fout<<"2 "<<n+1<<"\n"; continue;}
nd=1; sum=1;
for (d=1;n>1;++d)
{
pt=0; dp=p[d];
while (n%p[d]==0) { ++pt; n/=p[d]; dp*=p[d]; }
nd*=(pt+1); sum*=(dp-1)/(d[p]-1);
}
fout<<nd<<" "<<sum<<"\n";
}
fin.close(); fout.close();
return 0;
}