Pagini recente » Cod sursa (job #1141369) | Cod sursa (job #211221) | Cod sursa (job #1305562) | Cod sursa (job #990080) | Cod sursa (job #1700842)
#include <cstdio>
#define MAXN 1000000
#define MOD 9973
using namespace std;
char ciur[MAXN+1], prime[MAXN];
int main()
{
FILE *fin, *fout;
int n, nrp, i, t, d, expo, nrd, smd;
int x1, x2;
long long prod;
nrp=0;
for(i=2; i*i<=MAXN; i++)
if(ciur[i]==0){
prime[nrp++]=i;
for(d=i*i; d<=MAXN; d+=i)
ciur[d]=1;
}
fin=fopen("ssnd.in", "r");
fscanf(fin, "%d", &t);
fout=fopen("ssnd.out", "w");
for(i=0; i<t; i++){
fscanf(fin, "%d", &n);
d=0;
nrd=smd=1;
while(d<nrp && 1LL*prime[d]*prime[d]<=n){
expo=0; prod=1;
while(n%prime[d]==0){
++expo;
prod*=prime[d];
n/=prime[d];
}
nrd*=(expo+1);
smd=((prod*prime[d]-1)/(prime[d]-1))%MOD;
++d;
}
if(n>1){
nrd*=2;
smd=(smd*(n+1))%MOD;
}
fprintf(fout, "%d %d\n", nrd, smd);
}
fclose(fin);
fclose(fout);
return 0;
}