Prime Factorization और Divisors
N को prime powers में बाँटें और divisors गिनें
Prime Factorization और Divisors, CoddyKit पर Competitive Programming Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Competitive Programming Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
N को हिस्सों में बाँटिए
1 से बड़ी हर पूर्णांक अभाज्य संख्याओं के एक अद्वितीय गुणनफल के रूप में लिखी जा सकती है। इस रूप को, यानी उसका अभाज्य गुणनखंडन, खोजना संख्या-सिद्धांत के कई प्रश्नों को हल करने में मदद करता है। 🧩
क्रमिक भाग देने का विचार
n को विभाजित करने वाली सबसे छोटी अभाज्य संख्या निकालिए, उससे भाग दीजिए और यही प्रक्रिया दोहराइए। यह सरल क्रमिक भाग n को घटाते-घटाते 1 तक ले जाता है।
मूल तक चक्र चलाइए
भाजक i की जाँच तब तक कीजिए जब तक i*i, n से कम या बराबर रहे। वर्गमूल के आगे अधिकतम एक अभाज्य गुणनखंड बच सकता है।
while i * i <= n:
...हर गुणनखंड निकालिए
जब तक i, n को विभाजित करता रहे, तब तक भाग देते रहिए और i को दर्ज कीजिए। इससे आगे बढ़ने से पहले उस अभाज्य संख्या की पूरी घात मिल जाती है।
while n % i == 0:
factors.append(i)
n //= iबचा हुआ अभाज्य गुणनखंड
चक्र के बाद यदि n अभी भी 1 से बड़ा है, तो वह स्वयं वर्गमूल से बड़ा एक अभाज्य गुणनखंड है। उसे एक बार जोड़ दीजिए।
if n > 1:
factors.append(n)पूरी दिनचर्या
इन चरणों से O(sqrt n) समय में गुणनखंडन मिल जाता है और हर अभाज्य संख्या उसकी पूरी आवृत्ति के साथ सही क्रम में लौटती है।
def factorize(n):
f, i = [], 2
while i * i <= n:
while n % i == 0:
f.append(i); n //= i
i += 1
if n > 1: f.append(n)
return fघातों में समूहित कीजिए
भाजकों की संख्या गिनने के लिए आपको हर अभाज्य संख्या के साथ उसका घातांक चाहिए, जैसे 2^3, न कि 2,2,2। एक गणना-संग्रह दोहरावों को साफ़-सुथरे ढंग से गिनता है।
from collections import Counter
exp = Counter(factorize(n))भाजकों का सूत्र
यदि n, p1^a गुणा p2^b के बराबर है, तो भाजकों की संख्या (a+1) गुणा (b+1) होती है। हर घातांक के लिए एक अतिरिक्त विकल्प मिलता है।
भाजकों की गिनती
सभी अभाज्य संख्याओं के प्रत्येक घातांक में 1 जोड़कर उन सभी को गुणा कीजिए। इससे उन्हें एक-एक करके लिखे बिना कुल भाजक गिनती मिलती है।
count = 1
for e in exp.values():
count *= (e + 1)भाजकों का योग
एक संबंधित सूत्र प्रत्येक अभाज्य संख्या की ज्यामितीय श्रेणी का उपयोग करके भाजकों का योग निकालता है। इसे जानने से पूर्ण संख्या और अलिक्वॉट समस्याओं को हल करने में सहायता मिलती है।
छलनी से गति बढ़ाएँ
कई गुणनखंडनों के लिए, प्रत्येक संख्या का सबसे छोटा अभाज्य गुणनखंड छलनी से पहले ही निकालकर रख लीजिए। फिर प्रत्येक अनुरोध का गुणनखंडन log n चरणों में हो जाता है।
त्वरित जाँच
किसी वास्तविक संख्या पर भाजक-गिनती का सूत्र लागू कीजिए।
पुनरावृत्ति
अब आप परीक्षण-विभाजन द्वारा O(sqrt n) में N का गुणनखंडन कर सकते हैं, बचे हुए अभाज्य गुणनखंड को संभाल सकते हैं, घातांकों को समूहित कर सकते हैं और गुणनफल वाले सूत्र से भाजकों की गिनती कर सकते हैं। ✅
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “Prime Factorization और Divisors” पाठ निःशुल्क है?
हाँ—“Prime Factorization और Divisors” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Competitive Programming Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Prime Factorization और Divisors” में मैं क्या सीखूँगा?
N को prime powers में बाँटें और divisors गिनें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Competitive Programming Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Competitive Programming Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Competitive Programming Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“Prime Factorization और Divisors” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Competitive Programming Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Competitive Programming Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- GCD, LCM और Euclidean Algorithm
- sqrt(n) तक Primality Testing
- Sieve of Eratosthenes
- Prime Factorization और Divisors