Open In App

Largest of two distinct numbers without using any conditional statements or operators

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Given two positive and distinct numbers, the task is to find the greatest of two given numbers without using any conditional statements(if…) and operators(?: in C/C++/Java).

Examples:  

Input: a = 14, b = 15
Output: 15

Input: a = 1233133, b = 124
Output: 1233133

The Approach is to return the value on the basis of the below expression: 

a * (bool)(a / b) + b * (bool)(b / a) 

The expression a / b will give 1 if a > b and 0 if a < b (only after typecasting the result to bool). 
Hence, the answer will be of the form either a + 0 or 0 + b depending upon which one is greater. 

C++




// C++ program for above implementation
#include <iostream>
using namespace std;
 
// Function to find the largest number
int largestNum(int a, int b)
{
    return a * (bool)(a / b) + b * (bool)(b / a);
}
 
// Drivers code
int main()
{
    int a = 22, b = 1231;
    cout << largestNum(a, b);
 
    return 0;
}


Java




// Java program for above implementation
class GFG
{
 
    // Function to find the largest number
    static int largestNum(int a, int b)
    {
        return a * ((a / b) > 0 ? 1 : 0) + b * ((b / a) > 0 ? 1 : 0);
    }
 
    // Drivers code
    public static void main(String[] args)
    {
        int a = 22, b = 1231;
        System.out.print(largestNum(a, b));
    }
}
 
// This code is contributed by 29AjayKumar


Python3




# Function to find the largest number
def largestNum(a, b):
    return a * (bool)(a // b) + \
           b * (bool)(b // a);
 
# Driver Code
a = 22;
b = 1231;
print(largestNum(a, b));
 
# This code is contributed by Rajput-Ji


C#




     
// C# program for above implementation
using System;
 
class GFG
{
 
    // Function to find the largest number
    static int largestNum(int a, int b)
    {
        return a * ((a / b) > 0 ? 1 : 0) + b * ((b / a) > 0 ? 1 : 0);
    }
 
    // Driver code
    public static void Main(String[] args)
    {
        int a = 22, b = 1231;
        Console.Write(largestNum(a, b));
    }
}
 
// This code is contributed by Rajput-Ji


PHP




<?php
// PHP program for above implementation
 
// Function to find the largest number
function largestNum($a, $b)
{
    return ($a * (boolean)floor(($a / $b))) +
           ($b * (boolean)floor(($b / $a)));
}
 
// Drivers code
$a = 22; $b = 1231;
echo(largestNum($a, $b));
 
// This code is contributed
// by Mukul Singh


Javascript




<script>
 
// Javascript program for above implementation
 
// Function to find the largest number
function largestNum(a , b)
{
    return a * (parseInt(a / b) > 0 ? 1 : 0) +
           b * (parseInt(b / a) > 0 ? 1 : 0);
}
 
// Driver code
var a = 22, b = 1231;
 
document.write(largestNum(a, b));
 
// This code is contributed by shikhasingrajput
 
</script>


Output: 

1231

 

Time complexity: O(1)
Auxiliary space: O(1)



Last Updated : 08 Jan, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads