একটি লিস্ট nums দেওয়া আছে। সব ইন্টিজারকে ভাগ করে এমন সবচেয়ে বড় পজিটিভ মান (GCD) বের করুন।
উদাহরণ
nums = [15, 81, 78] → আউটপুট: 3
এলগরিদম
- যদি
len(nums) == 1: রিটার্নnums[0] div := gcd(nums[0], nums[1])- যদি
len(nums) == 2: রিটার্নdiv for i in range(1, len(nums)-1):div = gcd(div, nums[i+1])- যদি
div == 1: রিটার্ন1
divরিটার্ন করুন।
পাইথন কোড
from math import gcd
def solve(nums):
if len(nums) == 1:
return nums[0]
div = gcd(nums[0], nums[1])
if len(nums) == 2:
return div
for i in range(1, len(nums) - 1):
div = gcd(div, nums[i + 1])
if div == 1:
return div
return div
nums = [15, 81, 78]
print(solve(nums)) # আউটপুট: 3
ইনপুট / আউটপুট
[15, 81, 78] 3