Cod sursa(job #613685)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 3 octombrie 2011 23:14:08
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include<cstdio>

int main()
{
    int i,j,a,b,sol=1,aux,aux2;
	freopen("sumdiv.in","r",stdin);
	freopen("sumdiv.out","w",stdout);
	scanf("%d %d",&a,&b);
    for (i=2;i*i<=a;++i)
        if (a%i==0)
        {
            while (a%i==0)
            {
                ++aux;
                a/=i;
            }
            j=i;
            aux=((aux*b)+1)%9900;
            for (j=1,aux2=1;j<=aux;++j)
                aux2*=i;
            aux2-=1;
            sol*=aux2;
            for (j=1;j<=9900;++j)
                sol*=(i-1);
        }
    if (a!=1)
    {
        aux=1;
        i=a;
        j=i;
        aux=((aux*b)+1)%9900;
        for (j=1,aux2=1;j<=aux;++j)
            aux2*=i;
        aux2-=1;
        sol*=aux2;
        for (j=1;j<=9900;++j)
            sol*=(i-1);
    }
    printf("%d\n",sol);
	return 0;
}