# C Program to find all factors of a number

Category: C Program

Learn how to write a C program to find all factors of a number. This article provides a detailed explanation and sample code for identifying and printing factors of a given number in C programming.

Finding the factors of a number is a fundamental concept in mathematics and computer science. Factors are the integers that can divide the given number without leaving a remainder. This article will guide you through writing a C program to find all the factors of a given number, providing a detailed explanation and sample code.

## Understanding the Problem

A factor of a number `n` is an integer `i` such that `n % i == 0`. For example, the factors of 12 are 1, 2, 3, 4, 6, and 12.

### Steps to Find Factors of a Number

1. Input the Number: Read the number from the user.
2. Loop Through Possible Factors: Check each number from 1 to the given number to see if it is a factor.
3. Check for Divisibility: Use the modulus operator to determine if a number is a factor.
4. Print the Factors: Output all the factors.

## Write a C Program to find all factors of a number

Here's a C program to find all the factors of a number:

``````#include <stdio.h>

int main() {
int number;

// Input the number
printf("Enter a positive integer: ");
scanf("%d", &number);

// Check for factors
printf("Factors of %d are: ", number);
for (int i = 1; i <= number; i++) {
if (number % i == 0) {
printf("%d ", i);
}
}
printf("\n");

return 0;
}
``````

Output

``````Enter a positive integer: 12
Factors of 12 are: 1 2 3 4 6 12
``````

### Explanation

1. Input the Number: The program prompts the user to enter a positive integer. The `scanf` function reads this number and stores it in the variable `number`.
2. Loop Through Possible Factors: The program uses a `for` loop to iterate from 1 to the given number. The loop variable `i` represents potential factors.
3. Check for Divisibility:
• Inside the loop, the program uses the modulus operator (`%`) to check if `number` is divisible by `i` without leaving a remainder.
• If `number % i == 0`, then `i` is a factor of `number`, and it is printed.
4. Print the Factors: The program prints all the factors of the number on the same line, separated by spaces.

### Detailed Steps

• Step 1: Input the Number
• Use `printf` to prompt the user for input.
• Use `scanf` to read the number from the user.
• Step 2: Loop Through Possible Factors
• Use a `for` loop to iterate from 1 to the given number.
• The loop variable `i` takes on values from 1 to `number`.
• Step 3: Check for Divisibility
• Inside the loop, use the modulus operator (`%`) to check if `number` is divisible by `i`.
• If `number % i == 0`, then `i` is a factor of `number`.
• Step 4: Print the Factors
• Use `printf` to print each factor on the same line, separated by spaces.
• Print a newline character (`\n`) after all factors have been printed.

### Example

For an input of `12`, the program will:

• Loop through numbers from 1 to 12.
• Check each number to see if it is a factor of 12.
• Print `1 2 3 4 6 12`.

For an input of `7`, the program will:

• Loop through numbers from 1 to 7.
• Check each number to see if it is a factor of 7.
• Print `1 7`.