Pagini recente » Borderou de evaluare (job #630541) | Cod sursa (job #654266) | Cod sursa (job #651250)
Cod sursa(job #651250)
#include "stdio.h"
#include "malloc.h"
typedef unsigned int DWORD;
DWORD n,i,nr,sum,divizor,count,x,tmp;
FILE *f,*g;
int main()
{
f = fopen("ssnd.in","r");
fscanf(f,"%d",&n);
g = fopen("ssnd.out","w");
for(i =0; i<n;i++)
{
fscanf(f,"%d",&x);
if(x ==1)
{
fprintf(g,"0 0\n");
continue;
}
tmp = x;
count = 0;
while(x%2==0)
{
count++;
x/=2;
}
nr = count+1;
sum = (tmp/x)*2-1;
divizor = 3;
while(x!=1)
{
tmp = x;
count = 0;
while(x%divizor == 0)
{
count++;
x/=divizor;
}
nr*=count+1;
sum*=((tmp/x)*divizor-1)/(divizor-1);
divizor+=2;
}
fprintf(g,"%d %d\n",nr,sum%9973);
}
fclose(f);
fclose(g);
return 0;
}