Bird
Raised Fist0
Javascriptprogramming~5 mins

Arithmetic operators in Javascript - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Arithmetic operators
O(n)
Understanding Time Complexity

We want to see how the time to run arithmetic operations changes as we do more of them.

How does the number of calculations affect the total time?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


let sum = 0;
for (let i = 0; i < n; i++) {
  sum += i + 2 * 3 - 1;
}
// return sum; (removed return statement as it's invalid outside a function)
    

This code adds up a simple arithmetic expression for each number from 0 to n-1.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The arithmetic calculation inside the loop.
  • How many times: It runs once for each number from 0 to n-1, so n times.
How Execution Grows With Input

Each time n grows, the number of arithmetic operations grows the same amount.

Input Size (n)Approx. Operations
1010 calculations
100100 calculations
10001000 calculations

Pattern observation: The work grows directly with n, so doubling n doubles the work.

Final Time Complexity

Time Complexity: O(n)

This means the time to finish grows in a straight line as the input size grows.

Common Mistake

[X] Wrong: "Arithmetic operations inside a loop take constant time no matter how many times the loop runs."

[OK] Correct: Each arithmetic operation is fast, but doing many of them adds up, so total time grows with the number of loop runs.

Interview Connect

Understanding how simple calculations add up helps you explain how programs handle bigger data smoothly.

Self-Check

"What if we replaced the arithmetic inside the loop with another loop? How would the time complexity change?"

Practice

(1/5)
1. Which arithmetic operator in JavaScript is used to find the remainder of a division?
easy
A. %
B. /
C. **
D. *

Solution

  1. Step 1: Understand the remainder operator

    The operator % returns the remainder after division of two numbers.
  2. Step 2: Compare with other operators

    / is division, ** is power, and * is multiplication, so they don't give remainder.
  3. Final Answer:

    % -> Option A
  4. Quick Check:

    Remainder operator = % [OK]
Hint: Remainder operator looks like a percent sign % [OK]
Common Mistakes:
  • Confusing division / with remainder %
  • Using * or ** instead of %
  • Thinking + or - can give remainder
2. Which of the following is the correct syntax to calculate 5 to the power of 3 in JavaScript?
easy
A. 5 ** 3
B. 5 ^^ 3
C. 5 ^ 3
D. pow(5, 3)

Solution

  1. Step 1: Identify the power operator in JavaScript

    JavaScript uses ** to calculate powers, like 5 ** 3 means 5 to the power 3.
  2. Step 2: Check other options for correctness

    ^ is bitwise XOR, ^^ is invalid syntax, and pow() is not a built-in function in JavaScript.
  3. Final Answer:

    5 ** 3 -> Option A
  4. Quick Check:

    Power operator = ** [OK]
Hint: Use ** for power, not ^ or pow() [OK]
Common Mistakes:
  • Using ^ instead of ** for power
  • Trying to use pow() like in other languages
  • Typing invalid operators like ^^
3. What will be the output of the following code?
console.log(10 % 4);
medium
A. 6
B. 0
C. 2
D. 4

Solution

  1. Step 1: Calculate 10 divided by 4

    10 divided by 4 is 2 with a remainder of 2.
  2. Step 2: Understand the % operator

    The % operator returns the remainder, so 10 % 4 equals 2.
  3. Final Answer:

    2 -> Option C
  4. Quick Check:

    10 % 4 = 2 [OK]
Hint: Remainder is what's left after division [OK]
Common Mistakes:
  • Confusing remainder with quotient
  • Thinking % does division
  • Choosing 0 or 4 as remainder incorrectly
4. Find the error in this code snippet:
let result = 5 **;
console.log(result);
medium
A. console.log syntax error
B. Using wrong operator for power
C. Variable name 'result' is invalid
D. Missing right operand for ** operator

Solution

  1. Step 1: Check the power operator usage

    The power operator ** needs two operands, like 5 ** 2. Here, the right operand is missing.
  2. Step 2: Verify other parts of the code

    The variable name and console.log syntax are correct, so no errors there.
  3. Final Answer:

    Missing right operand for ** operator -> Option D
  4. Quick Check:

    Power operator needs two numbers [OK]
Hint: Power operator needs number on both sides [OK]
Common Mistakes:
  • Leaving out the second number after **
  • Thinking variable names cause error here
  • Assuming console.log is wrong
5. You want to split 100 candies equally among 6 kids and find how many candies remain undistributed. Which expression gives the number of leftover candies?
hard
A. 100 / 6
B. 100 % 6
C. 100 - 6
D. 100 ** 6

Solution

  1. Step 1: Understand the problem

    We want the leftover candies after dividing 100 by 6, which means the remainder.
  2. Step 2: Choose the correct operator

    The remainder operator % gives the leftover amount, so 100 % 6 is correct.
  3. Final Answer:

    100 % 6 -> Option B
  4. Quick Check:

    Leftover = total % number [OK]
Hint: Use % to find leftovers after division [OK]
Common Mistakes:
  • Using / which gives quotient, not remainder
  • Subtracting numbers directly instead of remainder
  • Using power operator mistakenly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard