# Fast ceiling of an integer division in C / C++

Given two integer values, we have to find ceiling of an integer division. By Shubh Pachori Last updated : April 20, 2023

We know that the "/" operator gives us the value without floating point values but it returns the last quotient by which the dividend is completely divided.

## Division operation using divide (/) operator in C and C++

C Code:

```#include <stdio.h>

int main()
{
int x, y, q;

printf("Enter Dividend: ");
scanf("%d", &x);

printf("Enter Divisor: ");
scanf("%d", &y);

q = x / y;
printf("Quotient: %d", q);

return 0;
}
```

Output:

```Enter Dividend: 15
Enter Divisor: 7
Quotient: 2
```

C++ Code:

```#include <iostream>
using namespace std;

int main()
{
int x, y, q;

cout << "Enter Dividend: ";
cin >> x;

cout << "Enter Divisor: ";
cin >> y;

q = x / y;
cout << "Quotient: " << q;

return 0;
}
```

Output:

```Enter Dividend: 15
Enter Divisor: 7
Quotient: 2
```

## Ceiling a quotient

To ceil a quotient, you may go for the basic approach of if condition with a divide command but we can clearly see that this code will take much more time in compilation and executing. This method is not efficient approach for this task.

C Code:

```#include <stdio.h>

int main()
{
int x, y, q;

printf("Enter Dividend: ");
scanf("%d", &x);

printf("Enter Divisor: ");
scanf("%d", &y);

q = x / y;
if (q * y < x)
q++;

printf("Quotient: %d", q);

return 0;
}
```

Output:

```Enter Dividend: 15
Enter Divisor: 2
Quotient: 8
```

C++ Code:

```#include <iostream>
using namespace std;

int main()
{
int x, y, q;

cout << "Enter Dividend: ";
cin >> x;

cout << "Enter Divisor: ";
cin >> y;

q = x / y;
if (q * y < x)
q++;

cout << "Quotient: " << q;

return 0;
}
```

Output:

```Enter Dividend: 15
Enter Divisor: 2
Quotient: 8
```

## Fast ceiling of an integer division in C / C++

For fast ceiling of an integer division, Hence, the user must have to use the command q = 1 + ( ( x – 1 ) / y  ) ; to execute it even faster and there is no certainty of an overflow of data. It is only applicable for the positive integer.

C Code:

```#include <stdio.h>

int main()
{
int x, y, q;

printf("Enter Dividend: ");
scanf("%d", &x);

printf("Enter Divisor: ");
scanf("%d", &y);

q = 1 + ((x - 1) / y);

return 0;
}
```

Output:

```Enter Dividend: 15
Enter Divisor: 2
```

C++ Code:

```#include <iostream>
using namespace std;

int main()
{
int x, y, q;

cout << "Enter Dividend: ";
cin >> x;

cout << "Enter Divisor: ";
cin >> y;

q = 1 + ((x - 1) / y);
cout << "Quotient: " << q;

return 0;
}
```

Output:

```Enter Dividend: 15
Enter Divisor: 2
Quotient: 8
```