Write a program to find the Smallest Common Divisor of a given number.
✅ Step-by-Step Explanation
🔹 1. Input a number
- User enters a number (example: n = 28)
scanf()reads the integer input
🔹 2. Check for valid input
if(n <= 1) {
printf("Smallest divisor is not defined for %d\n", n);
}
- Numbers ≤ 1 don't have proper divisors
- Program handles this edge case immediately
🔹 3. Find smallest divisor
for(i = 2; i <= n; i++) {
if(n % i == 0) {
printf("Smallest divisor of %d is %d\n", n, i);
break;
}
}
- Loop starts from 2 (first possible proper divisor)
- Modulo operator
%checks divisibility breakexits loop after first divisor found
🖨️ Example Runs
Composite Number Example:
Enter a number: 28 Smallest divisor of 28 is 2
Prime Number Example:
Enter a number: 37 Smallest divisor of 37 is 37
(37 is prime, so its smallest divisor is itself)
📌 Key Concepts Covered
For Loop
Iterates from 2 to n to check possible divisors
Modulo Operator %
Tests if n is divisible by current number (n % i == 0)
Break Statement
Exits loop immediately after finding first divisor
Edge Case Handling
Special handling for numbers ≤ 1
Prime Number Logic
If no divisors found before n, the number is prime
No comments:
Post a Comment