একটি অ্যারে nums দেওয়া আছে। যাচাই করতে হবে যে এই অ্যারেটি কি যেকোনো একটি পূর্ণসংখ্যার সব ভাগসঙ্ক্য ধারণ করে।
উদাহরণ
ইনপুট: nums = [1, 2, 3, 4, 6, 8, 12, 24]
আউটপুট: True
ব্যাখ্যা: এগুলো ২৪-এর সব ভাগসঙ্ক্য।
অ্যালগরিদম
- অ্যারেতে সর্বোচ্চ মান
maximumবের করুন। maximum-এর সব ভাগসঙ্ক্য বের করে একটি লিস্টtemp-এ রাখুন।- যদি
len(temp) != len(nums)হয়, তবেFalse। - দুটি লিস্ট সর্ট করে এলিমেন্ট বাই এলিমেন্ট তুলনা করুন।
উদাহরণ কোড
from math import sqrt
def solve(nums):
maximum = max(nums)
temp = []
for i in range(1, int(sqrt(maximum)) + 1):
if maximum % i == 0:
temp.append(i)
if maximum // i != i:
temp.append(maximum // i)
if len(temp) != len(nums):
return False
nums.sort()
temp.sort()
for i in range(len(nums)):
if temp[i] != nums[i]:
return False
return True
nums = [1, 2, 3, 4, 6, 8, 12, 24]
print(solve(nums)) # Output: True
ইনপুট
[1, 2, 3, 4, 6, 8, 12, 24]
আউটপুট
True