मान लीजिए कि हमारे पास दो संख्याएँ p और q हैं। हमें यह जांचना है कि इन टो संख्याओं के सभी भाजक का योग समान है या नहीं।
इसलिए, यदि इनपुट p =559, q =703 जैसा है, तो आउटपुट सही होगा 559 का भाजक 1, 13, 43 और 703 है 1, 19, 37 है। भाजक का योग 57 है। पी>
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- एक फ़ंक्शन को परिभाषित करें divSum() । इसमें n . लगेगा
- कुल :=1
- मैं :=2
- जबकि मैं * मैं <=n, करते हैं
- यदि n, i से विभाज्य है, तो
- कुल :=कुल + i + (n / i) का तल
- i :=i + 1
- यदि n, i से विभाज्य है, तो
- कुल वापसी
- मुख्य विधि से सही लौटें जब divSum(p) divSum(q) के समान हो, अन्यथा गलत
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण कोड
from math import floor def divSum(n): total = 1 i = 2 while i * i <= n: if n % i == 0: total += i + floor(n / i) i += 1 return total def solve(p, q): return divSum(p) == divSum(q) p = 559 q = 703 print(solve(p, q))
इनपुट
559, 703
आउटपुट
True