Hay N personas en una habitación. Encuentre el número máximo de apretones de manos posibles. Dado el hecho de que dos personas cualesquiera se dan la mano exactamente una vez.
Ejemplos:
Input : N = 2 Output : 1. There are only 2 persons in the room. 1 handshake take place. Input : N = 10 Output : 45.
Para maximizar la cantidad de apretones de manos, cada persona debe estrechar la mano de todas las demás personas en la sala. Para la primera persona, habría apretones de manos N-1. Para la segunda persona habría una persona N-1 disponible, pero ya le había dado la mano a la primera persona. Entonces habría apretones de manos N-2 y así sucesivamente.
Entonces, Número total de apretones de manos = N-1 + N-2 +….+ 1 + 0, que es equivalente a ((N-1)*N)/2
(usando la fórmula de la suma del primer N número natural).
A continuación se muestra la implementación de este problema.
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>
Producción:
45
Complejidad de tiempo : O(1)
Este artículo es una contribución de Anuj Chauhan(anuj0503) . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA