Cod sursa(job #395782)

Utilizator vicenzo_cnuStan Alexandru Dan vicenzo_cnu Data 13 februarie 2010 19:43:11
Problema Suma divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
#include<math.h>
#define inf 9901
#define Nmax 25000001
char v[Nmax];
int a,b,s=1;
int main()
{freopen("sumdiv.in","r",stdin);
freopen("sumdiv.out","w",stdout);
scanf("%d %d",&a,&b);
int i,j,n=a/2;
    for(i=2;i<=n;i++)
        if(v[i]==0)
          {if(a%i==0)
          {s*=((pow(i,b+1)-1)/(i-1));
          s%=inf;}
          for(j=i*i;j<=n/2;j+=i)
          {if(a%j==0)
            {s*=(pow(i,b+1)-1)/(i-1) ;
             s%=inf;
             }
          v[j]=1;
 
 }         
 }
 if(s==1)
 {s*=((pow(a,b+1)-1)/(i-1));s%=inf;}
 printf("%d",s);
 fclose(stdin);
 fclose(stdout);
 return 0;
 }