 # C Program To Find Factors Of A Number

## Problem Analysis

To develop a C program to find the factor of a number it is required to understand the meaning of the factor of a number. Factor of a number has following characteristics:

• A factor of a number on division leaves no remainder.
• A factor of a number can be even in number or odd in number.
• Square numbers have an odd number of factors.
• Prime number has only two factors the number itself and 1.

## Factors

Factors divide numbers in such a way that it leaves no remainder. For example 12 has factors – 1,2,3,4,6 and 12.

If 12 is divided by any of the six factors the answer will be a whole number. For example – 12 / 3 = 4

## Square Numbers

Square of a number is obtained by repeated multiplication of the number by itself. For example, a square of 36 is obtained by multiplying 6 two times (6 x 6) and 1 is by default.

1 x 6 x 6 = 36

As it can be seen that 1 is also a factor of 36 it makes the number of factors odd.

1 x 6 x 6 ( 3 factors ) = 36

## Prime Number

A prime number has only two factors 1 and itself. Prime number cannot be divided by another number.

Examples of prime numbers are: 2,3,5,7,11,13,17,19,23, and 29.

1 has only one factor and it is not a prime number.

## Problem Description

The problem is – “C Program to find factors of a number”.

From problem analysis it is evident that to obtain factors of a number, the number has to be divided and checked for remainder. If the remainder is 0 then the quotient is one of the facator. To obtain other factors than number has to be divided by number 1 and itself.

To repeatedly divide the number loop is to be used. There are 3 loop in C language:

1. while loop
2. for loop
3. do while loop

From these 3 loops any one of the loops can be used.

Number after division has to be checked for the remainder. If the remainder is 0 then the quotient is a factor. To check this condition if statement of  C language is to be used.

## Solution to Problem

Following is the code to find factor of number:

## C Program to find factor of a number

```#include<stdio.h>
int main()
{
int num_1,i;
printf("Input positive integer");
scanf("%d", &num_1);
printf("Obtained factors are: %d", num_1);
for(i=1;i<=num_1;i++)
{
if(num_1 % i == 0)
{
printf("  %d", i);
}
}
return 0;
}
```
```Output:

Input positive integer234

Obtained factors of 234 are:  1  2  3  6  9  13  18  26  39  78  117  234
```
```Code Analysis

Input is taken from the user in integer variable num_1.
for loop is executed until i is false.
The number is divided by i and checked for remiander.
Modulo divide is used to obtain remainder by using the following code:

if(num_1 % i == 0)

If the condition num % i is 0 then “i” is one of the factors.

The value of “i” is incremented by 1.
```

## Conclusion

The problem was to find the factor of a number by developing a “C” program. Problem analysis section discusses the meaning of a factor of a number. Descriptions of the problem section discuss “C” programming constructs used to develop the code. Code analysis section re-visits code and discusses the working of the code.