Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
📘 Lesson  ·  Lesson 43

Factorial Program

Factorial क्या है

किसी number n का factorial (n! लिखा जाता है) 1 से n तक की सारी पूर्ण संख्याओं का गुणनफल है। जैसे 5! = 1 × 2 × 3 × 4 × 5 = 120। हम इसे Python में loop, recursion, या built-in function से निकाल सकते हैं।

💡 ख़ास नियम: 0! = 1। आपके code को n के 0 होने पर 1 return करना चाहिए।

Loop से factorial

n = 5
f = 1
for i in range(1, n + 1):
    f = f * i
print("Factorial:", f)
Factorial: 120

हम f को 1 से शुरू करते हैं और उसे 1 से n तक हर number से गुणा करते हैं। range(1, n+1) 1, 2, 3, 4, 5 जाता है — +1 पर ध्यान दीजिए ताकि n शामिल हो।

Loop का dry run

Dry Run — factorial loop (n=5): f हर बार गुणा होता है
i (range 1 to 5)f * if अब
11 * 11
21 * 22
32 * 36
46 * 424
524 * 5120
Loop ख़त्म। Factorial = 120
💡 ऐसे समझिए

f 1 से शुरू होता है और बारी-बारी हर number से गुणा होता है (1×1×2×3×4×5)। range(1, n+1) 1 से n तक चलता है। 5! = 120।

Recursion से factorial

Recursion यानी एक function जो खुद को छोटी value के साथ call करता है।

def factorial(n):
    if n == 0:          # base case
        return 1
    return n * factorial(n - 1)

print(factorial(5))
120

factorial(5) बनता है 5 × factorial(4), फिर 4 × factorial(3), नीचे factorial(0) तक जो 1 return करता है। फिर results वापस गुणा होकर 120 तक पहुँचते हैं।

math.factorial इस्तेमाल

असली code के लिए, Python में पहले से factorial function है।

import math
print(math.factorial(5))
120

math.factorial सबसे तेज़ और सुरक्षित विकल्प है। आप अपना loop या recursion मुख्यतः यह समझने को लिखते हैं कि यह कैसे काम करता है।

आम गलतियाँ

  • गलत range। range(1, n+1) इस्तेमाल कीजिए; +1 बिना आप n को ही चूक जाते हैं।
  • f को 0 से शुरू करना। 1 से शुरू कीजिए — 0 से गुणा करने पर हमेशा 0 मिलता है।
  • Recursion में base case भूलना। if n == 0: return 1 बिना recursion कभी नहीं रुकती।
  • बड़े numbers पर recursion। बहुत बड़ा n Python की recursion limit छू सकता है — loop या math.factorial इस्तेमाल कीजिए।

सारांश

  • Factorial n! 1 से n तक की सारी पूर्ण संख्याओं का गुणनफल है।
  • Loop से: f को 1 से शुरू कीजिए और range(1, n+1) के हर i से गुणा कीजिए।
  • Recursion से: n * factorial(n-1), base case 0! = 1।
  • असली code के लिए, math.factorial(n) इस्तेमाल कीजिए।
  • याद रखिए 0! = 1 और factorials बहुत तेज़ी से बढ़ते हैं।

आगे, आज़माइए prime number program, या दोहराइए Python loops।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

Factorial क्या है?
किसी number n का factorial (n! लिखा जाता है) 1 से n तक की सारी पूर्ण संख्याओं का गुणनफल है। जैसे 5! = 1×2×3×4×5 = 120। Factorials गणित, probability और combinations में आते हैं।
0 का factorial क्या है?
परिभाषा से, 0! का मान 1 है। यह एक ख़ास नियम है जो गणित के formulas को सुसंगत रखता है। आपके loop या recursion को n के 0 होने पर 1 return करना चाहिए।
Factorial के लिए loop या recursion — क्या बेहतर है?
Loop सरल और कुशल है, stack overflow का कोई ख़तरा नहीं, तो अच्छा default है। Recursion सुंदर है और गणित से मेल खाता है, पर बहुत बड़े numbers Python की recursion limit छू सकते हैं। सीखने को दोनों आज़माइए।
क्या Python में built-in factorial है?
हाँ। math.factorial(n) सीधे factorial लौटाता है। यह असली code के लिए सबसे तेज़ और सुरक्षित विकल्प है — आप अपना loop या recursion सिर्फ़ यह सीखने को लिखते हैं कि यह कैसे काम करता है।
Factorial इतनी तेज़ी से क्यों बढ़ता है?
हर step अगले number से गुणा करता है, तो result जल्दी फट जाता है — 10! पहले ही 30 लाख से ऊपर है। Python बड़े integers अपने-आप संभालती है, तो यह कुछ अन्य languages की तरह overflow नहीं होगा।
← Back to Python Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicPalindrome Program आपकी प्रगति: 43 / 66 (65%) · Lesson 44 / 66 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें