शुरू करेंमुफ़्त में शुरू करें

6 का factorial recursively कैसे क्वेरी करें

पिछले अभ्यास में, आपने 5! को एक iterative समाधान से क्वेरी किया था। अब, आप 6! को recursively गणना करेंगे। हम समस्या को उसी प्रकार की छोटी समस्याओं में तोड़ते हैं ताकि factorial n! को recursively परिभाषित किया जा सके। इसके लिए निम्न परिभाषा का उपयोग कर सकते हैं:

  • 0! = 1 जब step = 0
  • (n+1)! = n! * (step+1) जब step > 0

इस सरल परिभाषा से आप किसी भी संख्या का factorial निकाल सकते हैं। इस अभ्यास में, n! को factorial द्वारा दर्शाया गया है।

आप ऊपर दी गई परिभाषा का उपयोग एक recursive CTE की मदद से करने जा रहे हैं।

यह अभ्यास पाठ्यक्रम का हिस्सा है

SQL Server में Hierarchical और Recursive Queries

पाठ्यक्रम देखें

अभ्यास निर्देश

  • factorial और step फ़ील्ड्स को 1 से initialize करें।
  • recursive भाग को factorial * (step + 1) से calculate करें।
  • जब वर्तमान iteration मान लक्ष्य factorial संख्या से छोटा रहे, तब recursion प्रक्रिया रोक दें।

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

WITH calculate_factorial AS (
	SELECT 
		-- Initialize step and the factorial number      
      	___ AS step,
        ___ AS factorial
	UNION ALL
	SELECT 
	 	step + 1,
		-- Calculate the recursive part by n!*(n+1)
	    ___ * (step + 1)
	FROM calculate_factorial        
	-- Stop the recursion reaching the wanted factorial number
	WHERE step < ___)
    
SELECT factorial 
FROM calculate_factorial;
कोड संपादित करें और चलाएँ