Pagini recente » Cod sursa (job #1772696) | Cod sursa (job #62728) | Cod sursa (job #722983) | Cod sursa (job #1408183) | Cod sursa (job #949037)
Cod sursa(job #949037)
#include <fstream>
#include <iostream>
#include <cmath>
using namespace std;
ifstream fi("ssnd.in");
ofstream fo("ssnd.out");
#define NMAX 1<<20
int n,i,j,x,a[NMAX];
void f(int val){
if (!a[val]) {fo << "2 " << (1+val) << "\n"; return;}
int s=1,nr=1,x=val;
for (i=2; i<=sqrt(val)+1; i++){
int nraux=1;
while (!(x % i)) nraux++,x/=i;
nr*=nraux;
s*=(pow(i,nraux)-1)/(i-1);
}
fo << nr << ' ' << s << "\n";
}
void ciur(){
for (i=2; i<NMAX; i++) if (!a[i]) for (j=i+i; j<NMAX; j+=i) a[j]=1;
}
int main(){
ciur();
//for (i=1; i<=50; i++) fo << a[i] << ' ';
fi >> n;
while (n--){
fi >> x;
f(x);
}
return 0;
}