मान लीजिए कि हमारे पास nums नामक तत्वों की एक सूची है, हमें सबसे बड़ा धनात्मक मान ज्ञात करना है जो प्रत्येक पूर्णांक को विभाजित करता है।
इसलिए, अगर इनपुट nums =[15, 81, 78] जैसा है, तो आउटपुट 3 होगा, क्योंकि 3 सबसे बड़ा पूर्णांक है जो सभी 15, 81 और 78 को विभाजित करता है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
यदि अंकों का आकार 1 के समान है, तो
-
वापसी संख्या[0]
-
-
div :=nums का gcd[0] और nums[1])
-
यदि अंकों का आकार 2 के समान है, तो
-
वापसी div
-
-
मेरे लिए 1 से लेकर अंकों के आकार - 2 तक, करें
-
div :=div और nums का gcd[i + 1]
-
अगर डिव 1 के समान है, तो
-
वापसी div
-
-
-
वापसी 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))
इनपुट
[15, 81, 78]
आउटपुट
3