ट्रैक
/
Python
Python
/
अभ्यास
/
पाइथागोरस त्रिक
पाइथागोरस त्रिक

पाइथागोरस त्रिक

आसान

परिचय

आप समस्याएँ हल करने में निपुण हैं और सबसे कठिन गणितीय पहेलियाँ सुलझाने के लिए प्रसिद्ध हैं। एक शाम आपको Triangle Tinkerer नाम के एक आविष्कारक का एक ज़रूरी पत्र मिलता है, जो एक नए और अभूतपूर्व प्रोजेक्ट पर काम कर रहे हैं। पत्र में लिखा है:

प्रिय गणितज्ञ,

मुझे आपकी मदद चाहिए। मैं एक ऐसा उपकरण बना रहा हूँ जो पाइथागोरस त्रिक की अनोखी विशेषताओं पर निर्भर करता है, यानी तीन पूर्णांकों के ऐसे समूह जो समीकरण a² + b² = c² को संतुष्ट करते हैं। यह उपकरण नेविगेशन में क्रांति ला देगा, लेकिन इसके काम करने के लिए मुझे इसे हर ऐसे त्रिक से प्रोग्राम करना होगा जिसमें a, b और c का योग एक निश्चित संख्या N के बराबर हो। इन त्रिकों को हाथ से निकालने में मुझे सालों लग जाएँगे, लेकिन मैंने सुना है कि आप इस काम को आसानी से कर सकते हैं।

समय बहुत कम है। मेरे आविष्कार का भविष्य, और शायद गणितीय नवाचार का भविष्य भी, इस बात पर निर्भर करता है कि आप यह समस्या हल कर पाते हैं या नहीं।

इस काम के महत्व से प्रेरित होकर आप वे सारे पाइथागोरस त्रिक खोजने निकल पड़ते हैं जो इस शर्त को पूरा करते हैं। आपके इस काम का असर बहुत दूर तक पहुँच सकता है और यह विज्ञान और इंजीनियरिंग में नई संभावनाएँ खोल सकता है। क्या आप इस चुनौती का सामना करके इतिहास रच सकते हैं?

निर्देश

पाइथागोरस त्रिक तीन प्राकृतिक संख्याओं का एक समूह है, {a, b, c}, जिसके लिए

a² + b² = c²

होता है और जिसमें

a < b < c

भी होता है।

उदाहरण के लिए,

3² + 4² = 5².

इनपुट के रूप में एक पूर्णांक N दिया गया हो, तो वे सारे पाइथागोरस त्रिक खोजिए जिनके लिए a + b + c = N हो।

उदाहरण के लिए, N = 1000 लेने पर ठीक एक ऐसा पाइथागोरस त्रिक होता है जिसके लिए a + b + c = 1000 हो: {200, 375, 425}.

Note

ऊपर दिए विवरण में गणितीय समुच्चय का उल्लेख है, लेकिन यह भी कहा गया है कि पाइथागोरस त्रिक {a, b, c} का क्रम ऐसा अवश्य होना चाहिए कि a < b < c हो (आरोही क्रम)।

इस वजह से Python का set टाइप इस अभ्यास के लिए उपयुक्त नहीं है, क्योंकि उसमें मूल रूप से कोई क्रम नहीं होता। इसके बजाय आपको lists की एक list लौटानी चाहिए (जैसे [[a, b, c]])। त्रिक आप अपनी इच्छा के किसी भी क्रम में बना सकते हैं, क्योंकि टेस्ट में बाहरी list के क्रम को अनदेखा किया जाता है।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Python Exercism

पाइथागोरस त्रिक शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Python को 17 कॉन्सेप्ट146 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।