समस्या
हर व्यक्ति हर अन्य व्यक्ति से एक बार हाथ मिलाता है। A और B के बीच हैंडशेक, B और A के बीच हैंडशेक के बराबर है। कोई भी व्यक्ति खुद से हाथ नहीं मिलाता।
handshake_count(people) को इम्प्लीमेंट करें।
इनपुट
people: लोगों की संख्या।
आउटपुट
कुल अलग-अलग हैंडशेक की संख्या लौटाएँ।
सीमाएँ
0 ≤ people ≤ 1,000,000,000। उत्तर एक signed 64-बिट पूर्णांक में समा जाएगा।
उदाहरण
इनपुट:
people = 4
अपेक्षित आउटपुट:
expected = 6
इनपुट:
long long people = 4;
अपेक्षित आउटपुट:
long long expected = 6;
इनपुट:
long people = 4;
अपेक्षित आउटपुट:
long expected = 6;
व्याख्या
जो जोड़ियाँ हैं वे हैं: AB, AC, AD, BC, BD, और CD: कुल छह हैंडशेक।
इनपुट:
people = 1
अपेक्षित आउटपुट:
expected = 0
इनपुट:
long long people = 1;
अपेक्षित आउटपुट:
long long expected = 0;
इनपुट:
long people = 1;
अपेक्षित आउटपुट:
long expected = 0;
व्याख्या
एक व्यक्ति के पास अभिवादन करने के लिए कोई और नहीं है।
कैसे हल करें
पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।
संकेत 1
हर handshake बस distinct लोगों का एक unordered pair है.
संकेत 2
सभी लोगों से बनने वाले pairs गिनो, बिना double-counting के.
संकेत 3
ध्यान रहे, zero या one person होने पर कोई handshake नहीं होता.
अपेक्षित जटिलता
समय O(1), अतिरिक्त स्थान O(1)
संदर्भ
यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।