# Find the maximum number of handshakes

• Difficulty Level : Basic
• Last Updated : 02 May, 2022

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 ``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 ``// 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

 ``

## Javascript

 ``

Output:

`45`

Time Complexity : O(1)

This article is contributed by Anuj Chauhan(anuj0503). If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.