समस्या
मूल (अंग्रेज़ी) दिखाएँहर ऐसे धनात्मक पूर्णांकों के त्रिक a < b < c को खोजें जिनके लिए a² + b² = c² और a + b + c = perimeter हो। प्रत्येक त्रिक को [a, b, c] के रूप में लौटाएँ, जिसमें a और फिर b के बढ़ते क्रम में क्रमबद्ध किया गया हो। एक ही भुजाओं के क्रमचय (permutations) को शामिल न करें।
pythagorean_triplets(perimeter) को लागू करें।
इनपुट
perimeter: सभी तीनों भुजाओं का आवश्यक योग।
आउटपुट
निर्दिष्ट क्रम में त्रिकों की एक सूची लौटाएँ।
सीमाएँ
3 ≤ perimeter ≤ 100,000। यदि कोई त्रिभुज योग्य नहीं है तो एक खाली सूची लौटाएँ।
उदाहरण
इनपुट:
perimeter = 30
अपेक्षित आउटपुट:
expected = [
[5, 12, 13]
]
इनपुट:
long long perimeter = 30;
अपेक्षित आउटपुट:
std::vector<std::vector<long long>> expected = {
{5, 12, 13}
};
इनपुट:
long perimeter = 30;
अपेक्षित आउटपुट:
long[][] expected = new long[][] {
new long[] {5, 12, 13}
};
व्याख्या
5 + 12 + 13 = 30 और 5² + 12² = 13²। यह एकमात्र योग्य त्रिक है।
इनपुट:
perimeter = 11
अपेक्षित आउटपुट:
expected = []
इनपुट:
long long perimeter = 11;
अपेक्षित आउटपुट:
std::vector<std::vector<long long>> expected = {};
इनपुट:
long perimeter = 11;
अपेक्षित आउटपुट:
long[][] expected = new long[][] {};
व्याख्या
कोई भी बढ़ते क्रम के धनात्मक पूर्णांक दाएँ कोण वाले त्रिभुज का योग 11 नहीं होता।
संदर्भ
यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।