Problem
Jede Person gibt jeder anderen Person genau einmal die Hand. Ein Händedruck zwischen A und B ist dasselbe Ereignis wie zwischen B und A. Niemand gibt sich selbst die Hand.
Implementiere handshake_count(people).
Eingabe
people: Die Anzahl der Personen.
Ausgabe
Gib die Gesamtzahl der unterschiedlichen Händedrucke zurück.
Einschränkungen
0 ≤ people ≤ 1.000.000.000. Die Antwort passt in einen vorzeichenbehafteten 64-Bit-Integer.
Beispiele
Eingabe:
people = 4
Erwartete Ausgabe:
expected = 6
Eingabe:
long long people = 4;
Erwartete Ausgabe:
long long expected = 6;
Eingabe:
long people = 4;
Erwartete Ausgabe:
long expected = 6;
Erläuterung
Die Paare sind AB, AC, AD, BC, BD und CD: sechs Händedrucke.
Eingabe:
people = 1
Erwartete Ausgabe:
expected = 0
Eingabe:
long long people = 1;
Erwartete Ausgabe:
long long expected = 0;
Eingabe:
long people = 1;
Erwartete Ausgabe:
long expected = 0;
Erläuterung
Eine Person hat niemanden, den sie begrüßen könnte.
So gehst du vor
Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.
Hinweis 1
Jeder Handschlag ist nur ein ungeordnetes Paar aus zwei verschiedenen Personen.
Hinweis 2
Zähle, wie viele Paare sich aus allen Personen bilden lassen, ohne doppelt zu zählen.
Hinweis 3
Achte darauf: Bei null oder einer Person gibt es gar keine Handshakes.
Erwartete Komplexität
Zeit O(1), zusätzlicher Speicher O(1)
Referenzen
Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.