📖 Scenario: Imagine you are organizing a game where players take turns in a circle. You want to find out which player's turn it is after a certain number of moves. This is a classic use of modular arithmetic.
🎯 Goal: You will create a small program that uses modular arithmetic to find the current player's turn number after a given number of moves.
📋 What You'll Learn
Create a variable for the total number of players.
Create a variable for the number of moves made.
Calculate the current player's turn using modular arithmetic.
Print the current player's turn number.
💡 Why This Matters
🌍 Real World
Modular arithmetic is used in scheduling, cryptography, computer graphics, and anywhere cycles or repeating patterns occur.
💼 Career
Understanding modular arithmetic is important for software developers, especially in game development, security, and algorithm design.
Progress0 / 4 steps
1
Create variables for players and moves
Create a variable called total_players and set it to 5. Then create a variable called moves_made and set it to 12.
DSA Python
Hint
Use simple assignment to create the variables with the exact values.
2
Calculate current player's turn using modular arithmetic
Create a variable called current_turn that stores the result of moves_made % total_players. This will give the remainder when moves_made is divided by total_players.
DSA Python
Hint
Use the modulus operator % to find the remainder.
3
Adjust current turn for zero remainder
Since player numbers start at 1, create an if statement that checks if current_turn is 0. If it is, set current_turn to total_players.
DSA Python
Hint
Use an if statement to check and update current_turn.
4
Print the current player's turn
Print the value of current_turn using print(current_turn).
DSA Python
Hint
Use the print function to display the current player's turn.
Practice
(1/5)
1. What is the result of 17 % 5 in modular arithmetic?
easy
A. 3
B. 2
C. 5
D. 12
Solution
Step 1: Understand the modulo operation
The modulo operator (%) gives the remainder when the first number is divided by the second.
Step 2: Calculate 17 divided by 5
17 divided by 5 is 3 with a remainder of 2.
Final Answer:
2 -> Option B
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
Step 1: Recall Python modulo operator
In Python, the modulo operator is the percent sign (%).
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.
Final Answer:
remainder = 25 % 4 -> Option A
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
Step 1: Understand the loop and modulo
The loop runs i from 1 to 5. For each i, we compute i % 3.
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
Step 1: Analyze the modulo expression
The line 'result = n %' is incomplete because modulo requires two operands: dividend and divisor.
Step 2: Identify syntax error
Without a number or variable after %, Python will raise a syntax error.
Final Answer:
Missing operand after % operator -> Option A
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
Step 1: Understand the problem
We want the remainder of the sum of numbers 1 to 100 divided by 7.
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.
Final Answer:
sum(range(1, 101)) % 7 -> Option D
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 unknownstrongwhile earning +1 Grip toward your certificate.