Cod sursa(job #181194)

Utilizator firewizardLucian Dobre firewizard Data 17 aprilie 2008 23:27:05
Problema Suma divizorilor Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
long a,b,i,c,p=1,nr;
void factorizare(long,long);
int main()
{
    freopen ("sumdiv.in","r",stdin);
    freopen ("sumdiv.out","w",stdout);
    
    scanf("%ld %ld",&a,&b);nr=a;
    
    for (i=2;i<=a;i++)
        if (nr%i==0){
           while (nr%i==0){
                 c++;nr/=i;
                 }
           c*=b;
           factorizare(i,c);
           c=0;
        }
        
    printf("%ld",p);
    return 0;
}
void factorizare(long nrp,long exp)
{
     int val=1,k=1;
     int s=1;
     while(k<=exp)
     {s+=nrp*val;val*=nrp;k++;}
     s=s%9901;
     p*=s;
}