मान लीजिए कि एक रेस आयोजित होने वाली है। जहां एक सड़क पर तरह-तरह के पत्थर रखे जाते हैं। एक बाल्टी दौड़ के शुरुआती बिंदु पर मौजूद है, यह पहले पत्थर से 6 इकाई दूर है। अन्य पत्थर एक दूसरे से 4 इकाई दूर हैं और एक के बाद एक एक पंक्ति में सीधे स्थित हैं। अब, प्रतिभागी बाल्टी से शुरू करते हैं, फिर निकटतम पत्थर को इकट्ठा करते हैं, वापस आते हैं और उस पत्थर को बाल्टी में डालते हैं, उसके बाद अगले निकटतम पत्थर को इकट्ठा करने के लिए फिर से दौड़ते हैं, वापस दौड़ते हैं, और बाल्टी में डालते हैं। यह प्रक्रिया तब तक जारी रहेगी जब तक सभी पत्थरों को बाल्टी में नहीं डाल दिया जाता। यदि n पत्थर हैं, तो हमें प्रतिभागियों के लिए तय की जाने वाली कुल दूरी ज्ञात करनी होगी।
इसलिए, यदि इनपुट n =5 की तरह है, तो आउटपुट 140 होगा क्योंकि 2*6 + 2(6 + 4) + 2(6 + 4 + 4) + 2(6 + 4 + 4 + 4) + 2 (6 + 4 + 4 + 4 + 4) =140
इसे हल करने के लिए, हमें इस समीकरण को हल करना होगा -
-
स्टोन 1 के लिए हमें (6+6) =2*6 दूरी तय करनी होगी
-
स्टोन 2 के लिए, हमें ((6+4)+(6+4)) =2*(6+4) दूरी को कवर करना होगा
-
स्टोन 3 के लिए, हमें तय करना होगा ((6+4+4)+(6+4+4)) =2*(6+4+4) दूरी
-
स्टोन n के लिए, हमें ((6+4*(n-1))+(6+4*(n-1))) =2*(6+4*(n-1)) दूरी को कवर करना होगा। पी>
सभी पत्थरों के लिए हमें ढकना होगा -
-
डी =2*6 + 2*(6+4) + 2*(6+4+4) + … + 2*(6+4*(n-1))
-
डी =2*[6 + (6+4) + (6+2*4) + ... + (6+(n-1)*4)]
-
डी =2*[6n + 4(1 + 2 + … + (n-1))]
-
डी =2*[6n + 4(n*(n-1)/2)]
-
डी =2*[6n + 2(n*(n-1))]
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def find_distance(n): return 2*(6*n + 2*((n-1)*n)) n = 5 print(find_distance(n))
इनपुट
5
आउटपुट
140