ধরুন আমাদের কাছে সংখ্যা নামক উপাদানের একটি তালিকা আছে, আমাদেরকে সবচেয়ে বড় ধনাত্মক মান খুঁজে বের করতে হবে যা প্রতিটি পূর্ণসংখ্যাকে ভাগ করে।
সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[15, 81, 78], তাহলে আউটপুট হবে 3, কারণ 3 হল বৃহত্তম পূর্ণসংখ্যা যা সমস্ত 15, 81, এবং 78 কে ভাগ করে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
যদি সংখ্যার আকার 1 এর মতো হয়, তাহলে
-
রিটার্ন সংখ্যা[0]
-
-
div :=nums[0] এবং nums[1])
এর gcd -
যদি সংখ্যার আকার 2 এর সমান হয়, তাহলে
-
রিটার্ন ডিভি
-
-
আমি 1 থেকে সংখ্যার আকার - 2 এর মধ্যে, কর
-
div :=div এবং সংখ্যার gcd[i + 1]
-
যদি div 1 এর মত হয়, তাহলে
-
রিটার্ন ডিভি
-
-
-
রিটার্ন ডিভি
উদাহরণ
আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি
ম্যাথ ইম্পোর্ট থেকে gcddef solve(nums):if len(nums) ==1:return nums[0] div =gcd(nums[0], nums[1]) if len(nums) ==2:রিটার্ন সীমার মধ্যে i এর জন্য div(1, len(nums) - 1):div =gcd(div, nums[i + 1]) যদি div ==1:রিটার্ন divreturn divnums =[15, 81, 78]print(solve( সংখ্যা))
ইনপুট
<প্রে>[15, 81, 78]আউটপুট
3