Bird
Raised Fist0
Rubyprogramming~5 mins

Arithmetic operators in Ruby - Time & Space Complexity

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

When we use arithmetic operators in code, it is helpful to know how the time to run the code changes as the input size grows.

We want to find out how the number of calculations grows when we do arithmetic operations on different amounts of data.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


numbers = [1, 2, 3, 4, 5]
result = []
numbers.each do |num|
  doubled = num * 2
  result << doubled
end
    

This code takes a list of numbers, doubles each number using multiplication, and stores the results in a new list.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Multiplying each number by 2 inside a loop.
  • How many times: Once for each number in the list.
How Execution Grows With Input

As the list gets bigger, the number of multiplications grows in the same way.

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

Pattern observation: The number of operations grows directly with the size of the input list.

Final Time Complexity

Time Complexity: O(n)

This means the time to finish grows in a straight line as the input list gets bigger.

Common Mistake

[X] Wrong: "Multiplying numbers takes longer when the numbers themselves are bigger."

[OK] Correct: The time to multiply is generally considered constant for typical integer sizes in programming, so what matters is how many numbers you multiply.

Interview Connect

Understanding how simple arithmetic inside loops affects time helps you explain how your code will behave with bigger data, a skill that shows clear thinking in interviews.

Self-Check

"What if we changed the code to multiply each number by every other number in the list? How would the time complexity change?"

Practice

(1/5)
1. Which of the following is the correct symbol for multiplication in Ruby?
easy
A. -
B. *
C. +
D. /

Solution

  1. Step 1: Recall basic arithmetic symbols in Ruby

    Ruby uses standard arithmetic symbols: + for addition, - for subtraction, * for multiplication, / for division.
  2. Step 2: Identify the multiplication symbol

    The symbol for multiplication is the asterisk (*).
  3. Final Answer:

    * -> Option B
  4. Quick Check:

    Multiplication = * [OK]
Hint: Remember * means multiply in most languages including Ruby [OK]
Common Mistakes:
  • Confusing + with multiplication
  • Using / instead of *
  • Using - instead of *
2. Which of the following Ruby expressions correctly calculates the remainder of 10 divided by 3?
easy
A. 10 - 3
B. 10 / 3
C. 10 * 3
D. 10 % 3

Solution

  1. Step 1: Understand the modulus operator

    The modulus operator (%) returns the remainder after division.
  2. Step 2: Identify the correct expression for remainder

    10 % 3 calculates the remainder when 10 is divided by 3, which is 1.
  3. Final Answer:

    10 % 3 -> Option D
  4. Quick Check:

    Remainder = % [OK]
Hint: Use % to get remainder after division [OK]
Common Mistakes:
  • Using / instead of %
  • Using * or - which do not give remainder
  • Confusing % with division
3. What is the output of the following Ruby code?
result = 15 / 4
puts result
medium
A. 3
B. SyntaxError
C. 4
D. 3.75

Solution

  1. Step 1: Understand integer division in Ruby

    When dividing two integers, Ruby performs integer division, discarding the decimal part.
  2. Step 2: Calculate 15 divided by 4 as integer division

    15 / 4 equals 3.75, but integer division returns 3.
  3. Final Answer:

    3 -> Option A
  4. Quick Check:

    Integer division truncates decimals = 3 [OK]
Hint: Integer division drops decimals unless floats used [OK]
Common Mistakes:
  • Expecting float result without floats
  • Confusing / with %
  • Thinking output is 4 or 3.75
4. Identify the error in this Ruby code snippet:
num = 10
result = num / 0
puts result
medium
A. Division by zero error
B. Syntax error due to missing operator
C. No error, output is 0
D. Variable 'num' is undefined

Solution

  1. Step 1: Analyze the division operation

    The code divides 10 by 0, which is mathematically undefined.
  2. Step 2: Understand Ruby's behavior on division by zero

    Ruby raises a ZeroDivisionError when dividing by zero.
  3. Final Answer:

    Division by zero error -> Option A
  4. Quick Check:

    Dividing by zero causes error [OK]
Hint: Never divide by zero; it causes runtime error [OK]
Common Mistakes:
  • Thinking output is 0
  • Assuming syntax error
  • Ignoring runtime exceptions
5. You want to calculate the average of three numbers: 7, 8, and 9 in Ruby. Which expression correctly computes the average as a float?
hard
A. 7 + 8 + 9 / 3
B. (7 + 8 + 9) / 3
C. (7 + 8 + 9) / 3.0
D. (7 + 8 + 9) % 3

Solution

  1. Step 1: Calculate sum of numbers

    Sum is 7 + 8 + 9 = 24.
  2. Step 2: Divide by 3 as float division

    Dividing by 3.0 forces float division, giving 8.0 instead of integer 8.
  3. Final Answer:

    (7 + 8 + 9) / 3.0 -> Option C
  4. Quick Check:

    Use float divisor for float average [OK]
Hint: Divide by float (3.0) to get decimal average [OK]
Common Mistakes:
  • Using integer division losing decimals
  • Misusing % instead of /
  • Wrong operator precedence without parentheses
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