Позволяет пошагово разбить ваш код:
Первый цикл, т. Е.
while (i > 100)
i = i/3;
выполняется O (logm) раз.
for (int k=i ; k>=0; k--) {
for (int j=1; j<n; j*=2) {
System.out.print(k + "\t" + j);
} //end inner for loop
System.out.println();
}
Внешний циклможет выполняться максимум 100 раз, а внутренний цикл, т. е.
for (int j=1; j<n; j*=2) {
System.out.print(k + "\t" + j);
} //end inner for loop
, выполняет время входа в систему.
общая сложность времени для циклов for = 100logn -> игнорирование констант -> logn
Следовательно, сложность O (log (m)) + O (log (n))