Open In App

Find the maximum number of handshakes

Last Updated : 02 May, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

There are N persons in a room. Find the maximum number of Handshakes possible. Given the fact that any two persons shake hand exactly once.

Examples : 

Input : N = 2
Output : 1.
There are only 2 persons in the room. 1 handshake take place.

Input : N = 10
Output : 45.
Recommended Practice

To maximize the number of handshakes, each person should shake hand with every other person in the room. For the first person, there would be N-1 handshakes. For second person there would N-1 person available but he had already shaken hand with the first person. So there would be N-2 handshakes and so on. 
So, Total number of handshake = N-1 + N-2 +….+ 1 + 0, which is equivalent to ((N-1)*N)/2 
(using the formula of sum of first N natural number).

Below is the implementation of this problem.  

C++




// C++ program to find maximum number of handshakes.
#include <bits/stdc++.h>
using namespace std;
 
// Calculating the maximum number of handshake using derived formula.
int maxHandshake(int n) { return (n * (n - 1)) / 2; }
 
// Driver Code
int main()
{
    int n = 10;
    cout << maxHandshake(n) << endl;
 
    return 0;
}
 
// This code is contributed by Aditya Kumar (adityakumar129)


C




// C program to find maximum number of handshakes.
#include <stdio.h>
// Calculating the maximum number of handshake using derived formula.
int maxHandshake(int n) { return (n * (n - 1)) / 2; }
 
// Driver Code
int main()
{
    int n = 10;
    printf("%d\n", maxHandshake(n));
 
    return 0;
}
 
// This code is contributed by Aditya Kumar (adityakumar129)


Java




// Java program to find maximum number of handshakes.
 
class GFG {
    // Calculating the maximum number of handshake using
    // derived formula.
    static int maxHandshake(int n)
    {
        return (n * (n - 1)) / 2;
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int n = 10;
        System.out.println(maxHandshake(n));
    }
}
 
// This code is contributed by Aditya Kumar (adityakumar129)


Python3




# Python3 program to find maximum
# number of handshakes.
 
# Calculating the maximum number
# of handshake using derived formula.
def maxHandshake(n):
 
    return int((n * (n - 1)) / 2)
 
# Driver Code
n = 10
print(maxHandshake(n))
 
# This code is contributed by Smitha Dinesh Semwal.


C#




// C# program to find maximum number of
// handshakes.
using System;
 
class GFG
{
    // Calculating the maximum number of
    // handshake using derived formula.
    static int maxHandshake(int n)
    {
        return (n * (n - 1)) / 2;
    }
     
     
    // Driver code
    public static void Main ()
    {
        int n = 10;
        Console.Write( maxHandshake(n));
    }
}
 
// This code is contributed by nitin mittal.


PHP




<?php
// PHP program to
// find maximum number
// of handshakes.
 
// Calculating the maximum
// number of handshake
// using derived formula.
function maxHandshake($n)
{
    return ($n * ($n - 1))/ 2;
}
 
// Driver Code
$n = 10;
echo maxHandshake($n);
 
// This code is contributed by anuj_67.
?>


Javascript




<script>
 
// JavaScript program to find maximum
// number of handshakes.
 
// Calculating the maximum number of
// handshake using derived formula.
function maxHandshake(n)
{
    return (n * (n - 1)) / 2;
}
  
// Driver Code
let n = 10;
 
document.write( maxHandshake(n));
 
// This code is contributed by souravghosh0416 
 
</script>


Output: 

45

Time Complexity : O(1)

 



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads