मान लीजिए हमारे पास nums1 और nums2 नामक दो ऐरे हैं। हमें उन वैल्यूज की संख्या ढूंढनी है जो निम्न शर्तों को पूरा करती हैं:
nums1 में एलिमेंट्स उन एलिमेंट्स के फैक्टर हैं जिन्हें चुना जा रहा है
चुने गए एलिमेंट्स nums2 के सभी एलिमेंट्स के फैक्टर हैं
तो, यदि इनपुट nums1 = [3,9] nums2 = [27, 81] है, तो आउटपुट 2 होगा क्योंकि संख्याएं 9 और 27 हैं, क्योंकि
9 mod 3 = 0
9 mod 9 = 0
27 mod 9 = 0
81 mod 9 = 0
27 mod 3 = 0
27 mod 9 = 0
27 mod 27 = 0
81 mod 27 = 0।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
- count := 0
- i के लिए 1 से 100 तक की रेंज में, करें
- flag := True
- nums1 में प्रत्येक j के लिए, करें
- यदि i mod j 0 नहीं है, तो
- flag := False
- लूप से बाहर निकलें
- यदि i mod j 0 नहीं है, तो
- यदि flag true है, तो
- nums2 में प्रत्येक k के लिए, करें
- यदि k mod i 0 नहीं है, तो
- flag := False
- लूप से बाहर निकलें
- यदि k mod i 0 नहीं है, तो
- nums2 में प्रत्येक k के लिए, करें
- यदि flag true है, तो
- count := count + 1
- count लौटाएं
उदाहरण
बेहतर समझ के लिए निम्न कार्यान्वयन देखें
def solve(nums1, nums2):
count = 0
for i in range(1,101):
flag = True
for j in nums1:
if i%j != 0:
flag = False
break
if flag:
for k in nums2:
if k%i!=0:
flag = False
break
if flag:
count+=1
return count
nums1 = [3,9]
nums2 = [27, 81]
print(solve(nums1, nums2))
इनपुट
[3,9], [27, 81]
आउटपुट
1