ZSUM - Just Add It - SPOJ Solution C++

  Problem Link : ZSUM 


👉 Hint : Find (a pow b) % m

 


✅ C++ Solution :

 
#include<bits/stdc++.h>
using namespace std;
long long int m=10000007;
long long int pow(long long int n,long long int k)
{
	if(k==0)
		return 1;
	if(k==1)
		return n%m;
	else
	{
		long long int ans=pow(n,k/2)%m;
		ans=(ans*ans)%m;
		if(k%2==1)
			ans=(ans*n%m)%m;
		
		return ans;
	}
}
int main()
{
	while(1)
	{
		long long int n,k,i;
		cin>>n>>k;
		if(n==0 && k==0)
			break;
		else
		{
			
			long long int ans=0;

			
			ans=(pow(n,k)+(2*pow(n-1,k))%m+pow(n,n)+(2*pow(n-1,n-1))%m)%m;
			
			cout<<ans<<endl;
			
		}
	}
	return 0;
}

 

Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook. 

😇Happy Learning!!