📖 Scenario: Imagine you are organizing a circular game where players take turns in a fixed order. After the last player, the turn goes back to the first player. This cycle repeats indefinitely.
🎯 Goal: You will create a small program to find the player number whose turn it is after a certain number of moves using modular arithmetic.
📋 What You'll Learn
Create a variable called totalPlayers with the exact value 5.
Create a variable called movesMade with the exact value 12.
Calculate the current player's turn using modular arithmetic and store it in a variable called currentPlayer.
Print the value of currentPlayer.
💡 Why This Matters
🌍 Real World
Games, scheduling, and circular queues often use modular arithmetic to cycle through options repeatedly.
💼 Career
Understanding modular arithmetic is important for programming tasks involving cycles, hashing, and time calculations.
Progress0 / 4 steps
1
Create the total number of players
Create a variable called totalPlayers and set it to 5.
DSA Javascript
Hint
Use const to create a variable named totalPlayers and assign it the number 5.
2
Create the number of moves made
Create a variable called movesMade and set it to 12.
DSA Javascript
Hint
Use const to create a variable named movesMade and assign it the number 12.
3
Calculate the current player's turn using modular arithmetic
Create a variable called currentPlayer and set it to the remainder of movesMade divided by totalPlayers. Use the modulus operator %.
DSA Javascript
Hint
Use % to find the remainder when movesMade is divided by totalPlayers.
4
Print the current player's turn
Print the value of currentPlayer using console.log(currentPlayer).
DSA Javascript
Hint
Use console.log(currentPlayer) to display the current player's number.
Practice
(1/5)
1. What is the result of 7 % 3 in modular arithmetic?
easy
A. 2
B. 3
C. 1
D. 0
Solution
Step 1: Understand the modulus operation
The modulus operator (%) gives the remainder after division of the first number by the second.
Step 2: Calculate 7 divided by 3
7 divided by 3 is 2 with a remainder of 1.
Final Answer:
1 -> Option C
Quick Check:
7 % 3 = 1 [OK]
Hint: Modulus gives remainder after division [OK]
Common Mistakes:
Confusing modulus with division
Using 3 instead of remainder
Thinking modulus returns quotient
2. Which of the following is the correct syntax to compute the remainder of a divided by b in JavaScript?
easy
A. a % b
B. a mod b
C. mod(a, b)
D. a // b
Solution
Step 1: Recall JavaScript modulus syntax
In JavaScript, the modulus operator is the percent sign (%) placed between two numbers or variables.
Step 2: Identify correct syntax
Only a % b correctly computes the remainder of a divided by b.
Final Answer:
a % b -> Option A
Quick Check:
Use % for modulus in JavaScript [OK]
Hint: Use % operator for modulus in JavaScript [OK]
Common Mistakes:
Using 'mod' keyword
Using integer division operator //
Calling a non-existent mod() function
3. What is the output of the following JavaScript code?
const x = 15;
const y = 4;
console.log(x % y);
medium
A. 4
B. 3
C. 0
D. 1
Solution
Step 1: Calculate 15 divided by 4
15 divided by 4 is 3 with a remainder of 3.
Step 2: Apply modulus operator
The expression 15 % 4 returns the remainder, which is 3.
Final Answer:
3 -> Option B
Quick Check:
15 % 4 = 3 [OK]
Hint: Modulus returns remainder after division [OK]
Common Mistakes:
Confusing remainder with quotient
Expecting 4 instead of remainder
Mistaking modulus for division
4. Find the error in the following code snippet that tries to compute the modulus of two numbers:
let a = 10;
let b = 3;
let result = a % b();
console.log(result);
medium
A. Missing semicolon after console.log
B. Modulus operator should be replaced with division
C. Variables a and b should be strings
D. Using parentheses after b causes an error
Solution
Step 1: Analyze the modulus expression
The code uses a % b(), which treats b as a function call, but b is a number, not a function.
Step 2: Identify the error
Parentheses after b cause a runtime error because numbers cannot be called like functions.
Final Answer:
Using parentheses after b causes an error -> Option D
Quick Check:
Variables are not functions, so no () after b [OK]
Hint: Don't add () after variables unless they are functions [OK]
Common Mistakes:
Adding () after number variables
Confusing modulus with division
Ignoring runtime errors
5. You want to find the remainder when the sum of two numbers a = 123456789 and b = 987654321 is divided by 1000. Which expression correctly computes this using modular arithmetic properties?
hard
A. ((a % 1000) + (b % 1000)) % 1000
B. (a % 1000) + (b % 1000)
C. a + b % 1000
D. a % (b % 1000)
Solution
Step 1: Recall modular addition property
The remainder of a sum modulo m equals the sum of remainders modulo m: (a + b) % m = ((a % m) + (b % m)) % m.
Step 2: Apply property to given numbers
Compute (a % 1000) and (b % 1000), add them, then take modulo 1000 again to get correct remainder.
Final Answer:
((a % 1000) + (b % 1000)) % 1000 -> Option A
Quick Check:
Use modular addition: ((a%m)+(b%m))%m [OK]
Hint: Add remainders then mod again for sum modulus [OK]
Common Mistakes:
Skipping final modulus after addition
Adding without modulus
Using wrong modulus order
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.