##
**
Problem Statement
**

We need to write a program that accepts a positive integer value from the user and prints all the possible divisors of that number (excluding the number itself).

**
For example
**

Input:100Output :1 2 4 5 10 25 50

Before we move to the algorithm and programs to find the divisors of a positive number, let us first have a brief introduction to what a divisor is.

###
**
What is a Divisor?
**

A number that divides an integer exactly without leaving any remainder is called a divisor.

For example, 2 is the divisor of 10, as 10 ÷ 2 = 5, exactly without leaving no remainder. However, 3 is not the divisor of 10, as 10 ÷ 3 = 3, leaving 1 as a remainder.

*
Note:
A divisor is also a factor of an original integer.
*

###
**
Algorithm
**

The problem statement is quite straightforward and beginner-level. We only need a loop and a conditional statement to solve this problem. As the problem statement states, all we need to do is find all the divisors except for the number itself.

So we need a loop from range 1 to half of the number entered by the user because a number's all possible divisors can be the number itself and less than half of it.

##
**
C Program to Find the Divisors of a Positive Integer
**

```
#include <stdio.h>
int main()
{
int num, i;
//input the number
printf("Enter a positive integer value: ");
scanf("%d",&num);
for(i=1; i<=num/2; i++)
{
if(num%i==0)
{
printf("%d ", i);
}
}
return 0;
}
```

**
Output
**

```
Enter a positive integer value: 100
1 2 4 5 10 20 25 50
```

##
**
C++ Program to Find the Divisors of a Positive Integer
**

```
#include<iostream>
using namespace std;
int main()
{
int num;
//input the positive integer
cout<<"Enter a Positive Integer Number: "; cin>>num;
for(int i=1; i<=num/2; i++)
{
if(num%i==0)
{
cout<<i<<" ";
}
}
return 0;
}
```

**
Output:
**

```
Enter a Positive Integer Number: 100
1 2 4 5 10 20 25 50
```

##
**
Python Program to Find the Divisors of a Positive Integer
**

```
# input number
num = int(input("Enter a Positive Integer Number: "))
for i in range(1, (num//2)+1):
if num%i==0:
print(i, end =" ")
```

**
Output:
**

```
Enter a Positive Integer Number: 100
1 2 4 5 10 20 25 50
```

##
**
Java
**
**
Program to Find the Divisors of a Positive Integer
**

```
import java.util.*;
public class Main
{
public static void main(String[] args)
{
int num;
Scanner sc = new Scanner(System.in);
System.out.println("Enter a Positive Integer Number: ");
num = sc.nextInt();
for(int i=1; i<=num/2; i++)
{
if(num%i==0)
{
System.out.println(+i+ " ");
}
}
}
}
```

**
Output:
**

```
Enter a Positive Integer Number:
34
1
2
17
```

##
**
Wrapping Up!
**

Now let's wrap up this programming tutorial on "Write a program to find the divisors of a positive integer". To find all the divisors of a number
```
n
```

, we need to calculate all the smaller numbers that can divide the number
```
n
```

completely.

If we look closely, all the divisors of a number lie between 1 to half of the number itself, saving time, and we need to create a loop that would iterate n/2 time.

**
People are also reading:
**

- Data Encapsulation in C++
- WAP in C++ & Python to Calculate Compound Interest
- Interfaces in C++
- WAP in C++ & Python to calculate the size of each data types
- C++ Strings
- WAP to calculate the average marks of 5 subjects
- Variable Scope in C++
- WAP in C++ & Python for Armstrong Number
- C++ Arrays
- WAP in C++ & Python to reverse a number
- Modifier Types in C++

## Leave a Comment on this Post