Pagini recente » Cod sursa (job #1012541) | Cod sursa (job #820399) | Cod sursa (job #825819) | Cod sursa (job #1133105) | Cod sursa (job #1851472)
#include <iostream>
#include<fstream>
#define nmax 1000001
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
bool a[nmax];
int main()
{ int n,i,nrdiv,suma,j,x,d,ct,nr,cx;
fin>>n;
a[2]=true;
for(i=3;i<=nmax;i++)a[i]=true;
for(i=3;i*i<=nmax;i++)
if(a[i]==true)
for(j=3*i;j<=nmax;j=j+2*i)a[j]=true;
for(i=1;i<=n;i++)
{fin>>x;cx=x;
//if(a[x]==true)fout<<2<<" "<<(x+1)%9973<<"\n";
d=2;nrdiv=1;suma=1;
while(x!=1)
{ct=0;nr=1;
while(x%d==0){x=x/d;ct++;}
if(ct>0){
nrdiv=nrdiv*(ct+1);
for(j=1;j<=ct+1;j++)nr=nr*d;
cout<<nr<<" ";
suma=suma*(nr-1)/(d-1);
}
if(d*d<x)d++;
else d=x;
}
//suma=suma+cx;
//cout<<suma<<" ";
fout<<nrdiv<<" "<<suma%9973<<"\n";
}
return 0;
}