मान लीजिए कि हमारे पास एक सरणी संख्या है, हमें यह जांचना होगा कि इस सरणी में कुछ पूर्णांक के सभी भाजक हैं या नहीं।
इसलिए, यदि इनपुट nums =[1, 2, 3, 4, 6, 8, 12, 24] जैसा है, तो आउटपुट सही होगा क्योंकि ये 24 के भाजक हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- अधिकतम:=अधिकतम अंक
- अस्थायी:=एक नई सूची
- i के लिए 1 से लेकर अधिकतम वर्गमूल तक, करें
- यदि अधिकतम i से विभाज्य है, तो
- अस्थायी के अंत में i डालें
- यदि (अधिकतम / i) का भागफल i के समान नहीं है, तो
- अस्थायी के अंत में (अधिकतम / i) का भागफल डालें
- यदि अस्थायी का आकार अंकों के आकार के समान नहीं है, तो
- झूठी वापसी
- सूची संख्या और अस्थायी क्रमित करें
- i के लिए 0 से लेकर अंकों के आकार -1 तक के लिए
- यदि अस्थायी [i] अंक [i] के समान नहीं है, तो
- झूठी वापसी
- यदि अस्थायी [i] अंक [i] के समान नहीं है, तो
- यदि अधिकतम i से विभाज्य है, तो
- सही लौटें
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण कोड
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))
इनपुट
[1, 2, 3, 4, 6, 8, 12, 24]
आउटपुट
True