इस समस्या में, हमें दो नंबर N और K दिए जाते हैं। हमारा काम एक प्रोग्राम बनाना है जो बिना किसी लूप का उपयोग किए संख्या श्रृंखला को प्रिंट करेगा।
जो श्रंखला मुद्रित की जानी है वह n से शुरू होगी और शून्य या ऋणात्मक होने तक k से घटाई जाएगी। उसके बाद, हम इसमें k जोड़ना शुरू करेंगे जब तक कि यह फिर से n न हो जाए। यदि इस प्रक्रिया में हम किसी भी प्रकार के लूप का उपयोग नहीं कर सकते हैं।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट
n = 12 , k = 3
आउटपुट
12 9 6 3 0 3 6 9 12
लूप का उपयोग किए बिना इस समस्या को हल करने के लिए हम रिकर्सन का उपयोग करेंगे। हम एक पुनरावर्ती फ़ंक्शन बनाएंगे जो खुद को फिर से कॉल करेगा और संख्या के मूल्य पर जांच करेगा ताकि यह सुनिश्चित हो सके कि जोड़ या घटाव में से कौन सा ऑपरेशन नंबर पर एक होना है।
फ़ंक्शन एक ध्वज का उपयोग करेगा जो हमें यह ट्रैक रखने में मदद करेगा कि क्या मूल्य घटाया या जोड़ा जाना है।
सी प्रोग्राम बिना किसी लूप का उपयोग किए नंबर सीरीज प्रिंट करने के लिए
// सी प्रोग्राम बिना किसी लूप का उपयोग किए नंबर सीरीज को प्रिंट करने के लिए
उदाहरण
#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<<"The series is : \n"; PrintSeriesRec(N, N, K, true); return 0; }
आउटपुट
श्रृंखला है -
12 8 4 0 4 8 12