Python Noções básicasDifícil

Número máximo de apertos de mão

Guia detalhado e implementação de Python para o problema de 'Número máximo de handshakes'.

Declaração do problema

Difícil

Escreva uma função max_handshakes(n) que receba um número inteiro positivo n representando o número de pessoas em uma sala e retorne o número máximo de apertos de mão que podem acontecer se cada pessoa apertar a mão de todas as outras exatamente uma vez.

A fórmula é: max_handshakes = n * (n - 1) / 2. Isso ocorre porque cada par de pessoas aperta a mão uma vez.

Restrições
  • 1 <= n <= 10^4

Exemplos

Example 1
Input
max_handshakes(5)
Output
10
Explanation

5 people: 5 × 4 / 2 = 10 handshakes. Each of the 5 people shakes hands with 4 others, divided by 2 since each handshake is counted twice.

Example 2
Input
max_handshakes(2)
Output
1
Explanation

2 people can only have 1 handshake between them.

Example 3
Input
max_handshakes(10)
Output
45
Explanation

10 × 9 / 2 = 45 handshakes.

Need a Hint?
Considere o uso de estruturas de dados específicas do Numbers, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir no Editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.