विभाज्य अनुक्रम संख्याओं का एक विशेष क्रम है। अनुक्रम संख्या से ही शुरू होता है और अनुक्रम की अगली संख्या पिछले पदों के उचित भाजक का योग है।
आइए अवधारणा को बेहतर ढंग से सीखने के लिए अनुक्रम का एक उदाहरण लेते हैं -
Input : 8 Output : 8 7 1 0 Explanation : Proper divisors of 8 are 4, 2, 1. The sum is 7 Proper divisors of 7 are 1. The sum is 1 Proper divisors of 1 are 0. The sum is 0
पूर्ण संख्या वह संख्या है जिसमें लंबाई एक का विभाज्य अनुक्रम होता है। उदाहरण के लिए, 6 एक पूर्ण संख्या है।
सौहार्दपूर्ण संख्या एक संख्या है जिसमें लंबाई दो का विभाज्य अनुक्रम होता है। उदाहरण के लिए, 1 एक सौहार्दपूर्ण संख्या है।
मिलनसार संख्या एक संख्या है जिसकी लंबाई तीन का विभाज्य अनुक्रम है। उदाहरण के लिए, 7 एक मिलनसार संख्या है।
किसी संख्या से ऐलिक अनुक्रम की गणना करना। हमें पद के उचित भाजक की गणना करने की आवश्यकता है। इसकी गणना करने के लिए हम विभाजन एल्गोरिथम का उपयोग करेंगे।
एल्गोरिदम
Step 1: Initialise the number. Step 2 : Find all the proper divisors of the number. Step 3 : Calculate the sum of all proper divisors. Step 4 : Print the sum and go to step one and initialise number with this sum.
उदाहरण
#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 << "\nRepeats with " << n; break; } cout << n << " "; s.insert(n); } } int main(){ Aliquotsequence(45); return 0; }
आउटपुट
45 33 15 9 4 3 1 0