Pagini recente » Cod sursa (job #1344083) | Cod sursa (job #1867733) | Cod sursa (job #340114) | Cod sursa (job #2764964) | Cod sursa (job #862387)
Cod sursa(job #862387)
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
FILE *f=fopen("ssnd.in","r");
FILE *g=fopen("ssnd.out","w");
int t,k,i,j;
long long x,xx,s,d,p,y;
int main()
{
fscanf(f,"%d",&t);
for (j=1;j<=t;j++){
d=1;
s=1;
fscanf(f,"%lld",&x);
xx=x;
y=(long long)sqrt(x);
i=2;
k=0;p=1;
while (x % i==0)
{x=x/i;
p=p*i;
k++;
}
d=d*(k+1);
s=(s*((p*i-1)/(i-1)))%9973;
if (x!=1 && i==y ) {d=d*2; s=(s*((x*x-1)/(x-1)))%9973;}
for (i=3;i<=y;i=i+2){
k=0;p=1;
while (x % i==0)
{x=x/i;
p=p*i;
k++;
}
d=d*(k+1);
s=(s*((p*i-1)/(i-1)))%9973;
}
if (x!=1 && i-y<=2) {d=d*2; s=(s*((x*x-1)/(x-1)))%9973;}
if (d==1) fprintf(g,"2 %lld\n",x+1); else
fprintf(g,"%lld %lld\n",d,s);
}
return 0;
}