📖 Scenario: Imagine you are working with a clock that only shows hours from 0 to 11. When you add hours, the clock resets after 11 back to 0. This is an example of modular arithmetic.
🎯 Goal: You will create a simple program to calculate the result of adding hours on a 12-hour clock using modular arithmetic.
📋 What You'll Learn
Create an integer variable called currentHour with the value 9
Create an integer variable called hoursToAdd with the value 5
Calculate the new hour using modular arithmetic and store it in an integer variable called newHour
Print the value of newHour
💡 Why This Matters
🌍 Real World
Modular arithmetic is used in clocks, calendars, cryptography, and computer science to handle repeating cycles.
💼 Career
Understanding modular arithmetic helps in programming tasks involving cycles, hashing, and algorithms that require wrap-around logic.
Progress0 / 4 steps
1
Create the initial hour variable
Create an integer variable called currentHour and set it to 9.
DSA C#
Hint
Use int currentHour = 9; to create the variable.
2
Add hours to the current hour
Create an integer variable called hoursToAdd and set it to 5.
DSA C#
Hint
Use int hoursToAdd = 5; to create the variable.
3
Calculate the new hour using modular arithmetic
Create an integer variable called newHour and set it to the result of (currentHour + hoursToAdd) % 12.
DSA C#
Hint
Use the modulus operator % to wrap around after 11.
4
Print the new hour
Write Console.WriteLine(newHour); to print the value of newHour.
DSA C#
Hint
The output should be 2 because 9 + 5 = 14, and 14 % 12 = 2.
Practice
(1/5)
1. What is the result of 17 % 5 in modular arithmetic?
easy
A. 2
B. 3
C. 5
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 17 % 5
Dividing 17 by 5 gives 3 with a remainder of 2.
Final Answer:
2 -> Option A
Quick Check:
17 % 5 = 2 [OK]
Hint: Modulus gives remainder after division [OK]
Common Mistakes:
Confusing modulus with division result
Using quotient instead of remainder
Thinking modulus returns zero if not divisible
2. Which of the following is the correct syntax to compute the modulus of two integers a and b in C#?
easy
A. int result = a & b;
B. int result = a mod b;
C. int result = a / b;
D. int result = a % b;
Solution
Step 1: Recall C# modulus operator
In C#, the modulus operator is the percent sign (%).
Step 2: Check each option
int result = a % b; uses % correctly. int result = a mod b; uses 'mod' which is not valid syntax. int result = a / b; uses division (/), not modulus. int result = a & b; uses bitwise AND (&), unrelated to modulus.
Final Answer:
int result = a % b; -> Option D
Quick Check:
C# modulus syntax = a % b [OK]
Hint: Use % symbol for modulus in C# [OK]
Common Mistakes:
Using 'mod' keyword instead of %
Confusing division (/) with modulus (%)
Using bitwise operators (&) mistakenly
3. What is the output of the following C# code?
int a = 14;
int b = 4;
int c = (a + b) % 5;
Console.WriteLine(c);
medium
A. 2
B. 4
C. 3
D. 1
Solution
Step 1: Calculate sum inside parentheses
a + b = 14 + 4 = 18.
Step 2: Compute modulus 18 % 5
18 divided by 5 is 3 remainder 3, so 18 % 5 = 3.
Final Answer:
3 -> Option C
Quick Check:
(14 + 4) % 5 = 3 [OK]
Hint: Add first, then apply modulus [OK]
Common Mistakes:
Applying modulus before addition
Confusing remainder with quotient
Incorrect arithmetic calculation
4. Identify the error in the following C# code snippet that tries to compute modulus:
int x = 10;
int y = 3;
int result = x % y;
medium
A. No error, code is correct
B. Missing semicolon after the first line
C. Using % operator with integers is invalid
D. Variables x and y must be declared as double
Solution
Step 1: Check syntax correctness
Each line ends with a semicolon; variables are declared as integers.
Step 2: Validate modulus usage
The modulus operator (%) works correctly with integers in C#.
Final Answer:
No error, code is correct -> Option A
Quick Check:
Modulus with int variables is valid [OK]
Hint: Modulus works with int types and needs semicolons [OK]
Common Mistakes:
Thinking % is invalid for integers
Missing semicolons (not in this code)
Using floating types unnecessarily
5. You want to find the remainder when the sum of all numbers from 1 to 100 is divided by 7. Which C# expression correctly computes this using modular arithmetic?
hard
A. int result = 100 * (101 % 7) / 2;
B. int result = (100 * 101 / 2) % 7;
C. int result = (100 % 7) * (101 % 7) / 2;
D. int result = (100 + 101) % 7 / 2;
Solution
Step 1: Recall formula for sum 1 to n
The sum of numbers from 1 to 100 is n(n+1)/2 = 100*101/2.
Step 2: Apply modulus after full sum calculation
Compute (100*101/2) % 7 to get the remainder after division by 7.
Final Answer:
int result = (100 * 101 / 2) % 7; -> Option B
Quick Check:
Sum formula then modulus = correct [OK]
Hint: Calculate full sum first, then apply modulus [OK]
Common Mistakes:
Applying modulus before multiplication or division
Incorrect order of operations
Dividing before multiplying causing wrong result
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.