इस समस्या में, हमें दो संख्याएं N और K दी गई हैं। हमारा कार्य एक ऐसा प्रोग्राम बनाना है जो बिना किसी लूप का उपयोग किए संख्या श्रृंखला प्रिंट करेगा।
प्रिंट की जाने वाली श्रृंखला n से शुरू होगी और तब तक k से घटाई जाएगी जब तक यह शून्य या ऋणात्मक नहीं हो जाती। उसके बाद, हम इसमें k जोड़ना शुरू करेंगे जब तक यह फिर से n नहीं बन जाती। इस प्रक्रिया में हम किसी भी प्रकार के लूप का उपयोग नहीं कर सकते।
आइए एक उदाहरण लेकर समस्या को समझते हैं,
इनपुट
n = 12, k = 3
आउटपुट
12 9 6 3 0 3 6 9 12
लूप का उपयोग किए बिना इस समस्या को हल करने के लिए हम पुनरावृत्ति का उपयोग करेंगे। हम एक पुनरावर्ती फ़ंक्शन बनाएंगे जो स्वयं को फिर से कॉल करेगा और संख्या के मान पर एक जांच रखेगा ताकि यह सुनिश्चित हो सके कि संख्या पर दो ऑपरेशनों में से कौन सा (जोड़ या घटाव) किया जाना है।
फ़ंक्शन एक फ्लैग का उपयोग करेगा जो हमें यह ट्रैक रखने में मदद करेगा कि मान को घटाया जाना है या जोड़ा जाना है।
बिना किसी लूप का उपयोग किए संख्या श्रृंखला प्रिंट करने के लिए C प्रोग्राम
// बिना किसी लूप का उपयोग किए संख्या श्रृंखला प्रिंट करने के लिए C प्रोग्राम
उदाहरण
#include <iostream> using namespace std; void PrintSeriesRec(int current, int N, int K, bool flag){ cout << current << "\t"; if (current <= 0) flag = !flag; if (current == N && !flag) return; if (flag == true) PrintSeriesRec(current - K, N, K, flag); else if (!flag) PrintSeriesRec(current + K, N, K, flag); } int main(){ int N = 12, K = 4; cout << "श्रृंखला है: \n"; PrintSeriesRec(N, N, K, true); return 0; } आउटपुट
श्रृंखला है -
12 8 4 0 4 8 12