关于数据结构的running time有关问题

关于数据结构的running time问题
for(int i=0;i<n;i++)   
  for(int j=0;j<i^3;j++)       
     if(j%i^2==0)         
       for(int k=0;k<n^2;k++)             
          l++; 

          这类题目怎么看,i<n记O(n),但是 j<i^3也要记O(n^3)吗
数据结构

------解决方案--------------------
一个一个算
i比较了n次
j比较了1^3+2^3+...+n^3=O(n^4)次
后面%i^2和j的比较次数一样
判断里面的运行次数和j比就少多了,对总体复杂度不产生影响

因此总体复杂度应该是O(n^4)