ট্র্যাক
/
Python
Python
/
অনুশীলনী
/
পিথাগোরীয় ত্রয়ী
পিথাগোরীয় ত্রয়ী

পিথাগোরীয় ত্রয়ী

সহজ

ভূমিকা

আপনি একজন দক্ষ সমস্যা-সমাধানকারী, সবচেয়ে কঠিন গাণিতিক ধাঁধাগুলো মোকাবিলার ক্ষমতার জন্য পরিচিত। এক সন্ধ্যায় আপনি একটি জরুরি চিঠি পান ট্রায়াঙ্গল টিংকারার নামের এক উদ্ভাবকের কাছ থেকে, যিনি একটি যুগান্তকারী নতুন প্রকল্পে কাজ করছেন। চিঠিতে লেখা আছে:

প্রিয় গণিতবিদ,

আমার আপনার সাহায্য দরকার। আমি এমন একটি যন্ত্র তৈরি করছি, যা পিথাগোরীয় ত্রয়ীর অনন্য ধর্মের ওপর নির্ভর করে। ত্রয়ী মানে তিনটি পূর্ণসংখ্যার এমন একটি সেট, যা 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 হয় (ঊর্ধ্বক্রম)।

এই কারণে পাইথনের set টাইপ এই অনুশীলনীর জন্য উপযুক্ত নয়, কারণ এটি স্বভাবতই ক্রমহীন। এর বদলে আপনার list রিটার্ন করা উচিত, যার প্রতিটি উপাদান আবার একটি list (যেমন [[a, b, c]])। ত্রিকগুলোর ভেতরের ক্রম আপনি যেভাবে চান সেভাবেই সাজাতে পারেন, কারণ টেস্টে বাইরের list-এর ক্রম উপেক্ষা করা হবে।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Python Exercism

পিথাগোরীয় ত্রয়ী শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Python ট্র্যাকের 17টি কনসেপ্ট146টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।