Solution: Nested Loop with Multiplication (Pro)
This review provides a detailed analysis of the different ways to solve the Nested Loop with Multiplication (Pro) challenge.
We'll cover the following...
Solution #
Press + to interact
int main(){int n =10; // O(1)int sum = 0; // O(1)int j = 1; // O(1)float pie = 3.14; // O(1)for (int i = 0; i < n; i++){ // O(n)cout << pie << endl; // O(n)while (j < i){ // O(log2(n))sum+=1; // O(log2(n))j*=2; // O(log2(n))}}cout << sum << endl; // O(1)}
The outer loop in the main function has n iterations as it iterates on i
from 0
to n-1
. If the condition j < i
is true, the inner loop is entered. However, immediately, j
is doubled. Note that j
is not reset to 1
in the code since the j
is immediately doubled, therefore inner while
loop will run ...