यहां हम एक प्रोग्राम देखेंगे, जो ड्रैगन कर्व सीक्वेंस का nवां टर्म ढूंढ सकता है। ड्रैगन वक्र अनुक्रम एक अनंत द्विआधारी अनुक्रम है। यह 1 से शुरू होता है, और प्रत्येक चरण में, यह वैकल्पिक रूप से पिछले पद के प्रत्येक तत्व के पहले और बाद में 1s और 0s जोड़ता है, जिससे अगला पद बनता है।
- टर्म 1 :1
- टर्म 2:110
- अवधि 3:1101100
- टर्म 4:1101100111100100
हम 1 से शुरू करेंगे, फिर पूर्ववर्ती पद के प्रत्येक अवयव के बाद वैकल्पिक रूप से 1 और 0 जोड़ेंगे। जब प्राप्त किया गया नया पद वर्तमान पद बन जाता है, तो अगले पदों को उत्पन्न करने के लिए 1 से n तक के चरणों को दोहराएं।
उदाहरण
#include <iostream> using namespace std; string dragCurveTerm(int n) { string term = "1"; for (int i = 2; i <= n; i++) { string temp = "1"; char prev = '1', zero = '0', one = '1'; for (int j = 0; j < term.length(); j++) { temp += term[j]; //take character from original string if (prev == '0') { temp += one; prev = one; } else { temp += zero; prev = zero; } } term = temp; } return term; } int main() { cout << "4th term of Dragon Curve Sequence: " << dragCurveTerm(4); }
आउटपुट
4th term of Dragon Curve Sequence: 110110011100100