Sunday, 17 August 2025

Write a program to find the Smallest Common Divisor of a given number.

Write a program to find the Smallest Common Divisor of a given number.

smallest_divisor.c
#include <stdio.h>

int main() {
    int n, i;

    printf("Enter a number: ");
    scanf("%d", &n);

    if(n <= 1) {
        printf("Smallest divisor is not defined for %d\n", n);
    } else {
        for(i = 2; i <= n; i++) {
            if(n % i == 0) {
                printf("Smallest divisor of %d is %d\n", n, i);
                break;   // stop at the first divisor found
            }
        }
    }

    return 0;
}

✅ 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
  • break exits 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

Total Pageviews

Search This Blog

Write a program which performs the following operations using a simple queue. : insert() -> delete() -> display()

Write a program which performs the following operations using a simple queue. : insert() -> delete() -> display() ...