I was wondering whether this program (I'm using a C syntax, hope it's not an issue) is to be considered $O(n^2 \log(n))$ or $O(n\log^2(n))$ or something else entirely.
for(int i=0;i<n;i++) for(int j=i; j>0; j/=2) for(int k=j; k>0; k--) printf("Hello, World!\n");
I mean, the innermost loop is for sure $O(n)$ but maybe it could have a tighter asymptotic upper bound? It executes a number of times that is dependent on a logarithmically decreasing value (
j), so I'm not really sure how would I have to think about such a scenario.