Bird
Raised Fist0
DSA Pythonprogramming~10 mins

Modular Arithmetic Basics in DSA Python - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to compute the remainder when 17 is divided by 5.

DSA Python
result = 17 [1] 5
print(result)
Drag options to blanks, or click blank then click option'
A%
B//
C*
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using // instead of % returns the quotient, not remainder.
2fill in blank
medium

Complete the code to check if 23 is divisible by 7 using modular arithmetic.

DSA Python
if 23 [1] 7 == 0:
    print("Divisible")
else:
    print("Not divisible")
Drag options to blanks, or click blank then click option'
A//
B%
C*
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using // returns quotient, not remainder.
3fill in blank
hard

Fix the error in the code to correctly compute (a + b) mod m.

DSA Python
a = 10
b = 15
m = 6
result = (a [1] b) % m
print(result)
Drag options to blanks, or click blank then click option'
A*
B-
C+
D//
Attempts:
3 left
💡 Hint
Common Mistakes
Using - or * changes the operation meaning.
4fill in blank
hard

Fill both blanks to create a dictionary of numbers and their squares modulo 5 for numbers 1 to 5.

DSA Python
squares_mod = {x: (x [1] x) [2] 5 for x in range(1, 6)}
print(squares_mod)
Drag options to blanks, or click blank then click option'
A*
B+
C%
D-
Attempts:
3 left
💡 Hint
Common Mistakes
Using + instead of * changes the operation.
5fill in blank
hard

Fill all three blanks to create a dictionary with keys as numbers squared modulo 7 and values as the original numbers for 1 to 6.

DSA Python
result = [1]: [2] for [3] in range(1, 7)}
print(result)
Drag options to blanks, or click blank then click option'
Ax**2 % 7
Bx
Di
Attempts:
3 left
💡 Hint
Common Mistakes
Using different variable names inconsistently.

Practice

(1/5)
1. What is the result of 17 % 5 in modular arithmetic?
easy
A. 3
B. 2
C. 5
D. 12

Solution

  1. Step 1: Understand the modulo operation

    The modulo operator (%) gives the remainder when the first number is divided by the second.
  2. Step 2: Calculate 17 divided by 5

    17 divided by 5 is 3 with a remainder of 2.
  3. Final Answer:

    2 -> Option B
  4. Quick Check:

    17 % 5 = 2 [OK]
Hint: Modulo gives remainder after division [OK]
Common Mistakes:
  • Confusing modulo with division
  • Using subtraction instead of modulo
  • Mixing up dividend and divisor
2. Which of the following is the correct syntax to compute the remainder of 25 divided by 4 in Python?
easy
A. remainder = 25 % 4
B. remainder = 25 mod 4
C. remainder = 25 // 4
D. remainder = 25 / 4

Solution

  1. Step 1: Recall Python modulo operator

    In Python, the modulo operator is the percent sign (%).
  2. Step 2: Check each option

    remainder = 25 % 4 uses 25 % 4 which correctly computes the remainder. remainder = 25 mod 4 uses 'mod' which is not valid syntax. remainder = 25 // 4 uses floor division (//) which gives quotient, not remainder. remainder = 25 / 4 uses normal division (/), which gives a float result.
  3. Final Answer:

    remainder = 25 % 4 -> Option A
  4. Quick Check:

    Use % for modulo in Python [OK]
Hint: Use % symbol for modulo in Python [OK]
Common Mistakes:
  • Using 'mod' keyword
  • Confusing // with %
  • Using / instead of %
3. What is the output of the following Python code?
for i in range(1, 6):
    print(i % 3, end=' ')
medium
A. 0 1 2 0 1
B. 1 2 3 1 2
C. 1 2 0 1 2
D. 1 2 0 2 1

Solution

  1. Step 1: Understand the loop and modulo

    The loop runs i from 1 to 5. For each i, we compute i % 3.
  2. Step 2: Calculate each modulo

    1 % 3 = 1, 2 % 3 = 2, 3 % 3 = 0, 4 % 3 = 1, 5 % 3 = 2.
  3. Final Answer:

    1 2 0 1 2 -> Option C
  4. Quick Check:

    Modulo cycles every 3 numbers [OK]
Hint: Modulo repeats remainder pattern every divisor [OK]
Common Mistakes:
  • Starting loop at 0 instead of 1
  • Miscomputing modulo for 3
  • Confusing modulo with division
4. Find the error in the following code snippet that tries to compute n % 4 for n = 10:
n = 10
result = n %
print(result)
medium
A. Missing operand after % operator
B. Incorrect variable name
C. Using print without parentheses
D. No error, code runs fine

Solution

  1. Step 1: Analyze the modulo expression

    The line 'result = n %' is incomplete because modulo requires two operands: dividend and divisor.
  2. Step 2: Identify syntax error

    Without a number or variable after %, Python will raise a syntax error.
  3. Final Answer:

    Missing operand after % operator -> Option A
  4. Quick Check:

    Modulo needs two numbers: a % b [OK]
Hint: Modulo operator needs both numbers [OK]
Common Mistakes:
  • Leaving out divisor after %
  • Using print without () in Python 3
  • Typos in variable names
5. You want to find the remainder when the sum of numbers from 1 to 100 is divided by 7. Which Python expression correctly computes this using modular arithmetic?
hard
A. sum(i for i in range(1, 101)) // 7
B. (sum(range(1, 101)) // 7) % 7
C. sum(i % 7 for i in range(1, 101))
D. sum(range(1, 101)) % 7

Solution

  1. Step 1: Understand the problem

    We want the remainder of the sum of numbers 1 to 100 divided by 7.
  2. Step 2: Evaluate each option

    sum(range(1, 101)) % 7 correctly sums all numbers then applies modulo 7. (sum(range(1, 101)) // 7) % 7 first does floor division to get quotient then % 7, which is incorrect. sum(i % 7 for i in range(1, 101)) sums remainders but does not apply modulo to the total sum, so it gives a wrong result. sum(i for i in range(1, 101)) // 7 uses floor division (//) which gives quotient, not remainder.
  3. Final Answer:

    sum(range(1, 101)) % 7 -> Option D
  4. Quick Check:

    Sum then modulo gives remainder [OK]
Hint: Sum first, then modulo for remainder [OK]
Common Mistakes:
  • Applying modulo inside sum without final modulo
  • Using floor division instead of modulo
  • Using floor division before modulo
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