Pagini recente » Cod sursa (job #1305139) | Cod sursa (job #1294626) | Cod sursa (job #381276) | Cod sursa (job #2838914) | Cod sursa (job #1193491)
#include<fstream>
#include<math.h>
using namespace std;
const long MAX=1000001;
bool prim[MAX];
void eratostene(){
for(long i=2;i<MAX;i++){
if(prim[i]==0){
for(long j=i*2;j<MAX;j+=i)
prim[j]=1;
}
}
}
int main(){
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int n,nr;
fin>>n;
eratostene();
long long x,sum,div,d;
while(fin>>x){
nr=1; //nr de div
sum=1;//suma div
for(long i=2;i<MAX;i++){
if(prim[i]==0){
d=0;
while(x%i==0){
d++;
x/=i;
}
if(d>0){
nr*=(d+1);
sum*=(((long long)pow(i,d+1)-1)/(i-1));
sum%=9973;
}
if(x==1)
break;
}
}
fout<<nr<<" "<<sum<<"\n";
}
return 0;
}