समस्या
Every person shakes hands once with every other person. A handshake between A and B is the same event as one between B and A. Nobody shakes their own hand.
Implement handshake_count(people).
Input
people: The number of people.
Output
Return the total number of distinct handshakes.
सीमाएँ
0 ≤ people ≤ 1,000,000,000. The answer fits a signed 64-bit integer.
उदाहरण
इनपुट:
people = 4
अपेक्षित आउटपुट:
expected = 6
इनपुट:
long long people = 4;
अपेक्षित आउटपुट:
long long expected = 6;
इनपुट:
long people = 4;
अपेक्षित आउटपुट:
long expected = 6;
व्याख्या
The pairs are AB, AC, AD, BC, BD, and CD: six handshakes.
इनपुट:
people = 1
अपेक्षित आउटपुट:
expected = 0
इनपुट:
long long people = 1;
अपेक्षित आउटपुट:
long long expected = 0;
इनपुट:
long people = 1;
अपेक्षित आउटपुट:
long expected = 0;
व्याख्या
One person has nobody else to greet.
कैसे हल करें
पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।
संकेत 1
Each handshake is just an unordered pair of distinct people.
संकेत 2
Count how many pairs can be formed from all people without double-counting.
संकेत 3
Be careful that zero or one person means no handshakes at all.
अपेक्षित जटिलता
O(1) time, O(1) extra space
संदर्भ
यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।