Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

दिए गए पुनरावृत्ति संबंध का nth पद ज्ञात करने के लिए C प्रोग्राम


मान लीजिए हमारे पास तीन संख्याएं a, b, c और एक मान n है। हम एक पुनरावृत्ति सूत्र S(n) का पालन करते हैं:

  • S(1) a वापस करता है
  • S(2) b वापस करता है
  • S(3) c वापस करता है
  • S(n) सभी n > 3 के लिए S(n-1) + S(n-2) + S(n-3) वापस करता है।

हमें इस पुनरावृत्ति का पालन करके nth पद ज्ञात करना है।

उदाहरण के लिए, यदि इनपुट a = 5, b = 2, c = 3, n = 6 है, तो आउटपुट 28 होगा क्योंकि:

  • S(6) = S(5) + S(4) + S(3)
  • S(5) = S(4) + S(3) + S(2)
  • S(4) = S(3) + S(2) + S(1) = 3 + 2 + 5 = 10
  • तो अब S(5) = 10 + 3 + 2 = 15
  • और S(6) = 15 + 10 + 3 = 28

हल करने के चरण

solve() फंक्शन परिभाषित करें, जो a, b, c, n लेगा:

  • यदि n, 1 के समान है, तो a वापस करें
  • यदि n, 2 के समान है, तो b वापस करें
  • यदि n, 3 के समान है, तो c वापस करें
  • return solve(a, b, c, n - 1) + solve(a, b, c, n - 2) + solve(a, b, c, n - 3)

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

#include <stdio.h> int solve(int a, int b, int c, int n){     if(n == 1)         return a;     if(n == 2)         return b;     if(n == 3)         return c;     return solve(a, b, c, n-1) + solve(a, b, c, n-2) + solve(a, b, c, n-3); } int main(){     int a = 5, b = 2, c = 3, n = 6;     int res = solve(a, b, c, n);     printf("%d", res); } 

इनपुट

5, 2, 3, 6

आउटपुट

28

  1. - पायथन में nth फाइबोनैचि टर्म खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है। हमें एक रिकर्सिव फंक्शन परिभाषित करके nth फाइबोनैचि टर्म ढूंढना है।उदाहरण के लिए, यदि इनपुट n = 8 है, तो आउटपुट 13 होगा क्योंकि पहले कुछ फाइबोनैचि टर्म हैं: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34...समाधान दृष्टिकोणइसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:solve()

  1. - पायथन में दी गई मैट्रिक्स से nवीं सबसे छोटी संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक 2D मैट्रिक्स है, जहां प्रत्येक पंक्ति और कॉलम नॉन-डिक्रीजिंग क्रम में सॉर्टेड है, हमें nवीं सबसे छोटी संख्या ढूंढनी है।उदाहरण के लिए, यदि इनपुट मैट्रिक्स है:243034316632और n = 4, तो आउटपुट 6 होगा।समाधान दृष्टिकोणइसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:lst := एक न

  1. - Python में दिए गए पुनरावृत्ति संबंध का nth पद ढूंढना

    मान लीजिए हमारे पास bn नामक संख्याओं का एक क्रम है, जिसे b1=1 और bn+1/bn=2n जैसे पुनरावृत्ति संबंध द्वारा दर्शाया गया है। हमें दिए गए n के लिए log2(bn) का मान ढूंढना है। तो, यदि इनपुट 6 की तरह है, तो आउटपुट 15 होगा क्योंकि log2(bn) = (n * (n - 1)) / 2 = (6*(6-1))/2 = 15। हम इस समस्या को इस संबंध को