Time complexity of a 3 nested for-loop
First, to get some idea add code to your program that counts the operations and prints the total, then try with n=1, 10, 100 and 1000.  That’s not exactly scientific but is a hint about the correct answer. If n= 1000 takes too long, try 200, 300, 400. 

Now: How many steps does the innermost loop perform at most, depending on I? And for a given I, how often is the whole loop performed? And how many values of i are there? That together gives you an upper bound, and guess what - it looks like O(n^4) to me. 

I’ve just typed this on my phone, so you do it much more carefully and you may show be able to show your professor that you are indeed right. If the code is exactly what you wrote. 

A bit more precise: The inner loop for k has j iterations. j % i == 0 is true when j is a multiple of i, that is j = i, j = 2i, j = 3i, ..., j = (i-1) i. So for a given i, the executions of the inner loop are i, multiplied by the sum over j for 1 ≤ j ≤ i-1. That sum is (i-1)(i-2) / 2, so the inner loop executes i (i-1) (i-2) / 2 times, which is quite exactly $(i-1)^3 / 2$ times.

We have 0 ≤ i ≤ n-1. Ignoring i = 0 and i = 1, 1 ≤ i-1 ≤ n-2. So the number of executions of the inner loop is about $((n-3)(n-2))^2 / 8$.