C Program to Display Factors of a Number

Calculating the factors of a number is a fundamental programming task that can be approached in various ways. This article explores different C Program to Display Factors of a Number to display the factors of a number using C programming. Each method is accompanied by a real example, including the solution and output.

Prerequisites

Before diving into the examples, ensure you have the following prerequisites:

  • Basic understanding of C programming.
  • Familiarity with loops and conditionals.
  • A C compiler installed on your system (e.g., GCC).

Simple Method to Find Factors

1.1 Explanation

The simplest method to find the factors of a number involves iterating through all numbers from 1 to the number itself and checking if each number is a divisor of the given number.

1.2 Program: Simple Factor Calculation

This program finds the factors of a number by checking divisibility for all numbers from 1 to the given number.

C
#include <stdio.h>

int main() {
    int num, i;

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

    printf("Factors of %d are: ", num);
    for (i = 1; i <= num; ++i) {
        if (num % i == 0) {
            printf("%d ", i);
        }
    }

    return 0;
}

1.3 Output

C
Enter a number: 12
Factors of 12 are: 1 2 3 4 6 12

Optimized Method to Find Factors

2.1 Explanation

The optimized method reduces the number of iterations by iterating up to the square root of the number and checking for divisibility. If i is a factor, then num/i is also a factor.

2.2 Program: Optimized Factor Calculation

This program uses the optimized method to find the factors of a number.

C
#include <stdio.h>
#include <math.h>

int main() {
    int num, i;

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

    printf("Factors of %d are: ", num);
    for (i = 1; i <= sqrt(num); ++i) {
        if (num % i == 0) {
            printf("%d ", i);
            if (i != num / i) {
                printf("%d ", num / i);
            }
        }
    }

    return 0;
}

2.3 Output

C
Enter a number: 12
Factors of 12 are: 1 12 2 6 3 4

Recursive Method to Find Factors

3.1 Explanation

A recursive method can be used to find the factors of a number by recursively dividing the number and checking for divisibility.

3.2 Program: Recursive Factor Calculation

This program demonstrates how to use recursion to find the factors of a number.

C
#include <stdio.h>

void findFactors(int num, int i) {
    if (i > num) {
        return;
    }
    if (num % i == 0) {
        printf("%d ", i);
    }
    findFactors(num, i + 1);
}

int main() {
    int num;

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

    printf("Factors of %d are: ", num);
    findFactors(num, 1);

    return 0;
}

3.3 Output

C
Enter a number: 12
Factors of 12 are: 1 2 3 4 6 12

Conclusion

In this article, we explored different C Program to Display Factors of a Number. We covered a simple method using loops, an optimized method reducing the number of iterations, and a recursive method. Each method was demonstrated with real examples and outputs. Understanding these methods provides a solid foundation for solving similar problems in C programming.

By practicing these examples, you will gain a deeper understanding of loops, conditionals, recursion, and optimization techniques in C.