Open In App

Find ceil of a/b without using ceil() function

Improve
Improve
Like Article
Like
Save
Share
Report

Given a and b, find the ceiling value of a/b without using ceiling function. 

Examples:  

Input: a = 5, b = 4 
Output:
Explanation: a/b = ceil(5/4) = 2 

Input: a = 10, b = 2
Output:
Explanation: a/b = ceil(10/2) = 5 

The problem can be solved using the ceiling function, but the ceiling function does not work when integers are passed as parameters. Hence there are the following 2 approaches below to find the ceiling value. 

Approach 1:  

ceilVal = (a / b) + ((a % b) != 0) 

a/b returns the integer division value, and ((a % b) != 0) is a checking condition which returns 1 if we have any remainder left after the division of a/b, else it returns 0. The integer division value is added with the checking value to get the ceiling value. 

Given below is the illustration of the above approach: 

C++




// C++ program to find ceil(a/b)
// without using ceil() function
#include <cmath>
#include <iostream>
using namespace std;
 
// Driver function
int main()
{
    // taking input 1
    int a = 4;
    int b = 3;
    int val = (a / b) + ((a % b) != 0);
    cout << "The ceiling value of 4/3 is "
         << val << endl;
 
    // example of perfect division
    // taking input 2
    a = 6;
    b = 3;
    val = (a / b) + ((a % b) != 0);
    cout << "The ceiling value of 6/3 is "
         << val << endl;
 
    return 0;
}


Java




// Java program to find
// ceil(a/b) without
// using ceil() function
 
class GFG
{
    // Driver Code
    public static void main(String args[])
    {
        // taking input 1
        System.out.println("The ceiling " +
                    "value of 4/3 is " +
                                    intCeil(4, 3));
       
           System.out.println("The ceiling " +
                    "value of 5/3 is " +
                                    intCeil(5, 3));
 
        // example of perfect
        // division taking input 2
        System.out.println("The ceiling " +
                    "value of 6/3 is " +
                                    intCeil(6, 3));
    }
   
    public static int intCeil(int a, int b) {
      if (a % b != 0) {
        return (a / b) + 1;
      } else {
        return (a / b);
      }
    }
}
 
// This code is contributed by
// Manish Shaw(manishshaw1)
// and Derek Chen-Becker


Python3




# Python3 program to find ceil(a/b)
# without using ceil() function
import math
 
# Driver Code
 
# taking input 1
a = 4;
b = 3;
val = (a / b) + ((a % b) != 0);
print("The ceiling value of 4/3 is",
                   math.floor(val));
 
# example of perfect division
# taking input 2
a = 6;
b = 3;
val = int((a / b) + ((a % b) != 0));
print("The ceiling value of 6/3 is", val);
 
# This code is contributed by mits


C#




// C# program to find ceil(a/b)
// without using ceil() function
using System;
 
class GFG
{
 
    // Driver Code
    static void Main()
    {
        // taking input 1
        int a = 4;
        int b = 3, val = 0;
        if((a % b) != 0)
            val = (a / b) + (a % b);
        else
            val = (a / b);
        Console.WriteLine("The ceiling " +
                      "value of 4/3 is " +
                                     val);
     
        // example of perfect
        // division taking input 2
        a = 6;
        b = 3;
        if((a % b) != 0)
            val = (a / b) + (a % b);
        else
            val = (a / b);
        Console.WriteLine("The ceiling " +
                      "value of 6/3 is " +
                                     val);
    }
}
// This code is contributed by
// Manish Shaw(manishshaw1)


PHP




<?php
// PHP program to find ceil(a/b)
// without using ceil() function
 
// Driver function
 
    // taking input 1
    $a = 4;
    $b = 3;
    $val = ($a / $b) + (($a % $b) != 0);
    echo "The ceiling value of 4/3 is "
        , floor($val) ,"\n";
 
    // example of perfect division
    // taking input 2
    $a = 6;
    $b = 3;
    $val = ($a / $b) + (($a % $b) != 0);
    echo "The ceiling value of 6/3 is "
                               , $val ;
 
// This code is contributed by anuj_67.
 
?>


Javascript




<script>
// javascript program to find
// ceil(a/b) without
// using ceil() function
    // Driver Code
     
        // taking input 1
        var a = 4;
        var b = 3, val = 0;
        if ((a % b) != 0)
            val = parseInt(a / b) + (a % b);
        else
            val = parseInt(a / b);
        document.write("The ceiling " + "value of 4/3 is " + val+"<br/>");
         
        // example of perfect
        // division taking input 2
        a = 6;
        b = 3;
        if ((a % b) != 0)
            val = parseInt(a / b) + (a % b);
        else
            val = parseInt(a / b);
        document.write("The ceiling " + "value of 6/3 is " + val);
 
// This code is contributed by gauravrajput1
</script>


Output: 

The ceiling value of 4/3 is 2
The ceiling value of 6/3 is 2

 

Time Complexity: O(1)
Auxiliary Space: O(1)

Approach 2:  

ceilVal = (a+b-1) / b 

Using simple maths, we can add the denominator to the numerator and subtract 1 from it and then divide it by denominator to get the ceiling value.

Given below is the illustration of the above approach:  

C++




// C++ program to find ceil(a/b)
// without using ceil() function
#include <cmath>
#include <iostream>
using namespace std;
 
// Driver function
int main()
{
    // taking input 1
    int a = 4;
    int b = 3;
    int val = (a + b - 1) / b;
    cout << "The ceiling value of 4/3 is "
         << val << endl;
 
    // example of perfect division
    // taking input 2
    a = 6;
    b = 3;
    val = (a + b - 1) / b;
    cout << "The ceiling value of 6/3 is "
         << val << endl;
 
    return 0;
}


Java




// Java program to find ceil(a/b)
// without using ceil() function
 
class GFG {
     
// Driver Code
public static void main(String args[])
{
     
    // taking input 1
    int a = 4;
    int b = 3;
    int val = (a + b - 1) / b;
    System.out.println("The ceiling value of 4/3 is "
                        + val);
 
    // example of perfect division
    // taking input 2
    a = 6;
    b = 3;
    val = (a + b - 1) / b;
    System.out.println("The ceiling value of 6/3 is "
                        + val );
}
}
 
// This code is contributed by Jaideep Pyne


Python3




# Python3 program to find
# math.ceil(a/b) without
# using math.ceil() function
import math
 
# Driver Code
# taking input 1
a = 4;
b = 3;
val = (a + b - 1) / b;
print("The ceiling value of 4/3 is ",
                    math.floor(val));
 
# example of perfect division
# taking input 2
a = 6;
b = 3;
val = (a + b - 1) / b;
print("The ceiling value of 6/3 is ",
                    math.floor(val));
 
# This code is contributed by mits


C#




// C# program to find ceil(a/b)
// without using ceil() function
using System;
 
class GFG {
     
    // Driver Code
    public static void Main()
    {
         
        // taking input 1
        int a = 4;
        int b = 3;
        int val = (a + b - 1) / b;
        Console.WriteLine("The ceiling"
          + " value of 4/3 is " + val);
     
        // example of perfect division
        // taking input 2
        a = 6;
        b = 3;
        val = (a + b - 1) / b;
        Console.WriteLine("The ceiling"
         + " value of 6/3 is " + val );
    }
}
 
// This code is contributed by anuj_67.


PHP




<?php
// PHP program to find ceil(a/b)
// without using ceil() function
 
    // Driver function
    // taking input 1
    $a = 4;
    $b = 3;
    $val = ($a + $b - 1) /$b;
    echo "The ceiling value of 4/3 is "
        , floor($val) ,"\n";
 
    // example of perfect division
    // taking input 2
    $a = 6;
    $b = 3;
    $val = ($a + $b - 1) / $b;
    echo "The ceiling value of 6/3 is "
        ,floor($val) ;
 
// This code is contributed by anuj_67.
?>


Javascript




<script>
// javascript program to find ceil(a/b)
// without using ceil() function
    // Driver Code
     
 
        // taking input 1
        var a = 4;
        var b = 3;
        var val = (a + b - 1) / b;
        document.write("The ceiling value of 4/3 is " + val+"<br/>");
 
        // example of perfect division
        // taking input 2
        a = 6;
        b = 3;
        val = parseInt((a + b - 1) / b);
        document.write("The ceiling value of 6/3 is " + val);
 
// This code contributed by Rajput-Ji
</script>


Output: 

The ceiling value of 4/3 is 2
The ceiling value of 6/3 is 2

 

Time Complexity: O(1)
Auxiliary Space: O(1)



Last Updated : 20 Sep, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads