Pagini recente » preONI 2008 - Runda 4, Clasa a 10-a | Cod sursa (job #3032085) | Cod sursa (job #3290271) | preONI 2007, Runda 4, Clasa a 10-a | Cod sursa (job #628914)
Cod sursa(job #628914)
#include <stdio.h>
#define N 1000001
short l[N+10];
int p[79000],i,k=2,j,np=0,s,d,m,t;
long long n,q;
int main () {
FILE * in=fopen ("ssnd.in","r");
FILE * out=fopen ("ssnd.out","w");
for (i=2; i<N; i++) l[i]=1;
while (k<=N) {
while (!l[k]) k++;
p[np++]=k;
for (j=k; j<N; j+=k) l[j]=0;
}
np--;
fscanf (in,"%d",&t);
for (i=0; i<t; i++) {
fscanf (in,"%lld",&n);
s=d=1;
for (m=0; m<np&&p[m]<=n; m++)
if (!(n%p[m])) {
k=1;
q=p[m]*p[m];
while (!((n=n/p[m])%p[m])) {
k++;
q*=p[m];
}
d*=(k+1);
s*=(q-1)/(p[m]-1)%9973;
}
fprintf (out,"%d %d\n",d,s);
}
fclose (in); fclose (out);
return 0;
}