एलिक्वोट अनुक्रम संख्याओं का एक विशेष अनुक्रम है। अनुक्रम संख्या से ही शुरू होता है और अनुक्रम की अगली संख्या पिछले पदों के उचित भाजकों का योग होती है।
आइए अनुक्रम का एक उदाहरण लेते हैं अवधारणा को बेहतर ढंग से सीखने के लिए:
इनपुट: 8 आउटपुट: 8 7 1 0 व्याख्या: 8 के उचित भाजक 4, 2, 1 हैं। योग 7 है 7 के उचित भाजक 1 हैं। योग 1 है 1 के उचित भाजक 0 हैं। योग 0 है
परफेक्ट नंबर वह संख्या है जिसका एलिक्वोट अनुक्रम लंबाई एक का होता है। उदाहरण के लिए, 6 एक परफेक्ट नंबर है।
एमिकेबल नंबर वह संख्या है जिसका एलिक्वोट अनुक्रम लंबाई दो का होता है। उदाहरण के लिए, 1 एक एमिकेबल नंबर है।
सोशिएबल नंबर वह संख्या है जिसका एलिक्वोट अनुक्रम लंबाई तीन का होता है। उदाहरण के लिए, 7 एक सोशिएबल नंबर है।
किसी संख्या से एलिक्वोट अनुक्रम की गणना करने के लिए। हमें पद के उचित भाजकों की गणना करने की आवश्यकता है। इसकी गणना करने के लिए हम विभाजन एल्गोरिदम का उपयोग करेंगे।
एल्गोरिदम
चरण 1: संख्या को इनिशियलाइज़ करें। चरण 2: संख्या के सभी उचित भाजक ढूंढें। चरण 3: सभी उचित भाजकों का योग गणना करें। चरण 4: योग प्रिंट करें और चरण एक पर जाएं और संख्या को इस योग से इनिशियलाइज़ करें।
उदाहरण
#include <bits/stdc++.h> using namespace std; int Sumfactorial(int n){ int sum = 0; for (int i=1; i<=sqrt(n); i++){ if (n%i==0){ if (n/i == i) sum = sum + i; else{ sum = sum + i; sum = sum + (n / i); } } } return sum - n; } void Aliquotsequence(int n){ printf("%d ", n); unordered_set<int> s; s.insert(n); int next = 0; while (n > 0){ n = Sumfactorial(n); if (s.find(n) != s.end()){ cout << "\nदोहराता है " << n; break; } cout << n << " "; s.insert(n); } } int main(){ Aliquotsequence(45); return 0; } आउटपुट
45 33 15 9 4 3 1 0