NUKES easy

for(int j=0;j<k;j++){
System.out.print(a%n+" ");

i don’t get the logic of the above block and how it can easily solve the nuke problem…!

Its an easy question, Its given that a compartment/cell can contain at most n-1 particles. As soon as the count of particles becomes n all particles are destroyed and one particle gets shifted to the next compartment. (So, given N be the number of particles supplied to the chamber initially. we need to calculate basically 2 things :-

  1. Number of particles left in the chamber at the end. say r
  2. Number of particles that are transfered to the next chamber. say m
    r is clearly the remainder of the division N/n (i.e N%n) since after getting to n, the particles in chamber becomes 0 and count again starts from 0. you can think of this in this way
    N = (n+n+n+…+n) + r (s.t r>=0 && r is less than n)
    N = kn + r (k belongs to set of non negative integers)
    so clearly we are left with (r = N%n) particles in that cell.
    Now we calculate m the number of particles that get transferred to next chamber.
    Transfer occurs when the cell gets filled with n particles and seeing the equation its clear that it happens k times where k = N/n
    Now we just generalise it for kth cell, as for kth cell N (Number of particles supplied) becomes m = N/n; => N = N/n; and then we carry out the same two operations mentioned above. Comment if you are not clear at any point.

@v_akshay got u :slight_smile: thknx