ब्याज से बाहर मैंने प्रोजेक्ट यूलर ( डिजिट सम अनुक्रम ) की "हाल की" श्रेणी से एक समस्या को हल करने की कोशिश की । लेकिन मैं समस्या को कुशलता से हल करने का एक तरीका सोचने में असमर्थ हूं। समस्या निम्नानुसार है (मूल प्रश्न अनुक्रम में शुरुआत में दो हैं, लेकिन यह अनुक्रम नहीं बदलता है):
डिजिट सम अनुक्रम 1,2,4,8,16,23,28,38,49 है .... जहाँ अनुक्रम का शब्द अनुक्रम में पूर्ववर्ती अंकों का योग है । अनुक्रम के शब्द का पता लगाएं ।
भोली समाधान को लागू नहीं किया जा सकता है क्योंकि इसमें बहुत समय लगता है। मैंने मैट्रिक्स एक्सप्रेशन के एक मामले में समस्या को कम करने की कोशिश की (जो कि समय की राशि लेती है ) लेकिन इस क्रम के लिए पुनरावृत्ति के रूप में रैखिक मानदंड को पुनरावृत्ति करने वाले ऐसे पुनरावृत्ति के साथ नहीं आ सकती है। काफी अजीब। यह देखा जा सकता है कि अनुक्रम पुनरावृत्ति द्वारा शासित है:
जहां है क्रम और की अवधि (। उदाहरण के लिए एक समारोह है जो जब संख्या के अंकों के इनपुट रिटर्न राशि के रूप में एक प्राकृतिक संख्या दी है )। मेरा दूसरा दृष्टिकोण अनुक्रम में कुछ पैटर्न खोजने की कोशिश करना था। यह देखा जा सकता है कि अनुक्रम के पहले कुछ शब्दों को लिखा जा सकता है
a_1 = 1
a_2 = 1 + d( 1 )
a_3 = 1 + d( 1 ) + d( 1 + d( 1 ) )
a_4 = 1 + d( 1 ) + d( 1 + d( 1 ) ) + d( 1 + d( 1 ) + d( 1 + d( 1 ) ) )
a_5 = 1 + d( 1 ) + d( 1 + d( 1 ) ) + d( 1 + d( 1 ) + d( 1 + d( 1 ) ) ) + d( 1 + d(
1 ) + d( 1 + d( 1 ) ) + d( 1 + d( 1 ) + d( 1 + d( 1 ) ) ) )
ऊपर दिए गए पैटर्न से यह हो जाता है कि अनुक्रम का शब्द निम्नलिखित विधि द्वारा उत्पन्न किया जा सकता है:
- उनके बीच के सिंबल के साथ लिखें ।
- पहले छोड़कर , फिर अगले 2 0 पदों पर और फिर अगले 2 1 पदों पर, फिर अगले 2 2 पदों पर और इतने पर फ़ंक्शन डी लागू करें ।
- फिर उपरोक्त विधि को लागू किए गए प्रत्येक फ़ंक्शन के तर्कों पर पुनरावर्ती रूप से लागू करें।
उदाहरण के लिए यदि n = 3 हम निम्नलिखित जोड़तोड़ करते हैं:
1 + 1 + 1 + 1 + 1 + 1 + 1 + 1
1 + d( 1 ) + d( 1 + 1 ) + d( 1 + 1 + 1 + 1 )
1 + d( 1 ) + d( 1 + d(1) ) + d( 1 + d( 1 ) + d( 1 +d( 1 ) ) )
गतिशील प्रोग्रामिंग करके मैं उत्पन्न कर सकते हैं समय में उपरोक्त विधि का उपयोग कर अवधि हे ( एल ओ जी ( 2 10 15 ) ) है, जो फिर से अनुभवहीन समाधान की तुलना में बेहतर नहीं है।
EDIT 1
एक और चीज़ जो देखी जा सकती है वह है । उदाहरण के लिए d ( a 6 ) = d ( 23 ) = d ( 32 ) = 5 । लेकिन मैं इस बिंदु का उपयोग करने में असमर्थ हूं। मैंने फिर से एक रैखिक पुनरावृत्ति संबंध (मैट्रिक्स घातांक के लिए) खोजने की कोशिश की, लेकिन मैं इसे खोजने में असमर्थ हूं।
EDIT 2
निम्न ग्राफ है जब अनुक्रम को छोटी श्रेणी के लिए प्लॉट किया जाता है ( अनुक्रम के पहले शब्द प्लॉट किए जाते हैं)।
पुनश्च: मुझे पता है कि प्रोजेक्ट यूलर से समाधान पूछना उचित नहीं है। लेकिन मैं सिर्फ एक नई दिशा या संकेत चाहता हूं, जैसा कि मैं पिछले कुछ दिनों से हलकों में घूम रहा हूं। अगर वह भी अस्वीकार्य है तो मैं सुझाव दिए गए प्रश्न को हटा सकता हूं।
You are given a106 = 31054319.
है कि मूल यूलर समस्या एक संकेत है।