I'm getting TLE for this code, the problem is ZSUM. What modifications do i need to make?
include
int mod_pow(int base,int exponent,int modulus)
{
if (modulus == 1)
return 0;
int e_prime,c = 1;
for(e_prime=1;e_prime<=exponent;e_prime++)
{
c = (c*base)%modulus;
}
return c;
}
int main(){
int n,k,a,e;
scanf("%d %d",&n,&k);
while(n!=0 && k!=0){
a = mod_pow(n,k,10000007)+ mod_pow(n,n,10000007)+ 2*mod_pow(n-1,k,10000007)+ 2*mod_pow(n-1,n-1,10000007);
e = a%10000007;
printf("%d\n",e);
scanf("%d %d",&n,&k);
}
return 0;
}