Pagini recente » Cod sursa (job #2495145) | Cod sursa (job #1536479) | Cod sursa (job #137766) | Cod sursa (job #180856) | Cod sursa (job #181196)
Cod sursa(job #181196)
#include <stdio.h>
#include <math.h>
unsigned long a,b,i,c,nr,sq;
unsigned long long p=1;
void factorizare(unsigned long long,unsigned long long);
int main()
{
freopen ("sumdiv.in","r",stdin);
freopen ("sumdiv.out","w",stdout);
scanf("%ld %ld",&a,&b);nr=a;
sq=sqrt(a);
for (i=2;i<=sq+1;i++)
if (nr%i==0){
while (nr%i==0){
c++;nr/=i;
}
c*=b;
factorizare(i,c);
c=0;
}
if(nr%(a/2)==0)factorizare(a/2,1);
if(p==1)factorizare(a,1);
printf("%lld",p);
return 0;
}
void factorizare(unsigned long long nrp,unsigned long long exp)
{
unsigned long long val=1,k=1;
unsigned long long s=1;
while(k<=exp)
{s+=nrp*val;val*=nrp;k++;}
p=(p*s)%9901;
}