Below given is a 100 score solution. But I am unable to understand why he is passing m (no. of countries ) in power function for taking modulo. Please help.
Solution
please anybody help
in this problem basically we have to find :
Answer : (((((A ^ B) mod M) ^ C) mod M) * P) % 100000007
.
ln the code above he have some checks first.
- if
(A == 0)
: answer is going to be zero is this case - if
(A == 1)
: answer is going to be always(1 * (P mod 100000007))
if above are not true.
he is calculating answer.
as A and B and C can be as large as 2 * 10^7.
so we can not simply use normal power function form math.h
as integer will go out of bounds while calculation.
1 Like
Ok bro i got it.Thanks again. We are passing m because of property of modular operation.
(A^B^C)%m==((A^B)%m)^C)%m. right?
1 Like
because we are only intersted in amount of medicines that are going to be left out.
assume this you have 7 medecines, and you have to divide it equally among :
- case 1: 2 countries, so you will donate 3 each (which is maximal possible) and would be left with 1.
- case 2: 5 countries, so you will donate 1 each (which is maximal possible) and would be left with 2.
did you noticed the pattern here. amount of left outs is (total medecines mod no. of countries)
.
1 Like