Za takve slučajeve vremenska složenost petlje je O(log(log(n))). Sljedeći slučajevi analiziraju različite aspekte problema. Slučaj 1: CPP for (int i = 2; i <=n; i = pow(i k)) { // some O(1) expressions or statements } In this case i takes values 2 2k(2k)k= 2k2(2k2)k= 2k3... 2klogk(log(n)). Posljednji član mora biti manji ili jednak n i imamo 2klogk(log(n))= 2log(n)= n što se u potpunosti slaže s vrijednošću našeg posljednjeg člana. Dakle, ima ukupno logk(log(n)) mnogo iteracija i svaka iteracija zahtijeva konstantnu količinu vremena za izvođenje, stoga je ukupna vremenska složenost O(log(log(n))). Slučaj 2: CPP // func() is any constant root function for (int i = n; i > 1; i = func(i)) { // some O(1) expressions or statements } In this case i takes values n n1/k(n1/k)1/k= n1/k2n1/k3... n1/klogk(log(n))pa ih ima ukupno logk(log(n)) iteracija i svaka iteracija traje O(1) tako da je ukupna vremenska složenost O(log(log(n))). Pogledajte članak u nastavku za analizu različitih vrsta petlji. https://www.geeksforgeeks.org/dsa/how-to-analyse-loops-for-complexity-analysis-of-algorithms/ Napravi kviz