Pagini recente » Cod sursa (job #2816535) | Cod sursa (job #1383457) | Cod sursa (job #2750120) | Cod sursa (job #2779303) | Cod sursa (job #598741)
Cod sursa(job #598741)
#include<fstream>
#define NMAX 1000003
#define MOD 9973
using namespace std;
ifstream fi("ssnd.in");
ofstream fo("ssnd.out");
long long n;
int pr[NMAX],f;
char p;
long long fp,nr,sum;
bool isNotPr[NMAX+1];
int t,nPr,nf;
void primeNumbers() {
int i,j;
i=2;
do {
pr[nPr++]=i;
for(j=i+i;j<NMAX;j+=i) isNotPr[j]=1;
do ++i; while(isNotPr[i]);
} while(i<NMAX);
}
void decompose(long long n) {
nr=sum=1;
nf=0;
int i=0;
while(i<NMAX && n>1) {
if(!(n%pr[i])) {
f=pr[i];
p=0;
fp=1;
do {
n/=f;
++p;
fp*=f;
} while(!(n%f));
++nf;
nr*=(p+1);
sum=sum*((fp*f-1)/(f-1))%MOD;
}
++i;
}
if(n>1) {
f=n;
p=1;
fp=n;
nr*=(p+1);
sum=sum*((fp*f-1)/(f-1))%MOD;
}
}
int main() {
primeNumbers();
fi>>t;
while(t--) {
fi>>n;
decompose(n);
fo<<nr<<' '<<sum<<"\n";
}
return 0;
}