Cod sursa(job #49414)

Utilizator FlorianFlorian Marcu Florian Data 5 aprilie 2007 19:12:32
Problema Suma divizorilor Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<stdio.h>
int main()
{long long unsigned n,i,j,r,k=2,a,b,v[15000],u[15000];
FILE*f=fopen("sumdiv.in","r");
FILE*g=fopen("sumdiv.out","w");
fscanf(f,"%llu %llu",&a,&b);
i=0;k=2;
while(a!=1)
	{
	r=0;
	while(a%k==0) {r++;a=a/k;}
	if(r!=0) {i++;v[i]=k;u[i]=r*b;}
	k++;}
long s=1,pr;
for(j=1;j<=i;j++)
	{pr=1;k=1;
	while(k<=u[j]+1)
		{pr*=v[j];
		k++;}
	s=((s%9901)*(((pr-1)/(v[j]-1))%9901))%9901;
	}
fprintf(g,"%llu",s%9901);
fclose(f);
fclose(g);
return 0;}