# C Program to find all factors of a number

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

**Input the Number**: Read the number from the user.**Loop Through Possible Factors**: Check each number from 1 to the given number to see if it is a factor.**Check for Divisibility**: Use the modulus operator to determine if a number is a factor.**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

**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`

.**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.**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.

- Inside the loop, the program uses the modulus operator (
**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.

- Use
**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`

.

- Use a
**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`

.

- Inside the loop, use the modulus operator (
**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.

- Use

### 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`

.