मेंढकों को पकड़ो

एक मेंढक नंबर लाइन पर इधर-उधर कूदता है और आप उसे पकड़ने की कोशिश करते हैं। कूदना और पकड़ना हमेशा वैकल्पिक। मेंढक स्थिति \(s \in \mathbb{Z}\) पर शुरू होता है और हर चाल के साथ यह \(z \in \mathbb{Z}\) दूरी कूदता है (यदि \(z>0\) , तो यह कूदता है दाईं ओर, अन्यथा बाईं ओर)। \(z\) हर छलांग के लिए समान है। तड़क एक पूर्णांक स्थिति निर्दिष्ट करने के होते हैं। कोई न तो \(z\) और न ही \(s\) \(z\) जानता है। हम दिखाते हैं कि मेंढक को हमेशा पकड़ने का एक तरीका है।


सबसे पहले, \(a_1 = s\) और \(a_{n+1} = a_n + z = s + n \cdot z\) साथ \(s,z \in \mathbb{Z}\)

अब हम चुनते हैं 

$$h:\mathbb{N} \to \mathbb{Z}^2: h(2^k r) = \left ( (-1)^{k+1} \left \lfloor \frac{k+1}{2} \right \rfloor, (-1)^{\frac{r+1}{2}} \left \lfloor \frac{r+1}{4} \right \rfloor \right ) $$

फ़ंक्शन के रूप में, जो (बिल्कुल) हर प्राकृतिक संख्या को संपूर्ण संख्याओं का एक नंबर बताता है। इस फ़ंक्शन का विकल्प फ़ंक्शंस \(f(n) = (-1)^n \left \lfloor \frac{n}{2} \right \rfloor\) , \(\mathbb{N}\) on \(\mathbb{Z}\) और \(g(2^kr) = (k+1, \frac{r+1}{2})\) , जो \(\mathbb{N}\) पर \(\mathbb{N}^2\) नक्शा जैविक रूप से, प्रेरित।

अब हम दिखाते हैं कि surjectivity of \(h\) ( \(h\) भी इंजेक्टिव है, लेकिन हमें इस प्रॉपर्टी की आवश्यकता नहीं है)।

Let \((x,y) = (2^{k_1} r_1, 2^{k_2} r_2) \in\mathbb{Z}^2\) । परन्तु फिर

$$h \left ( 2^{2 \cdot 2^{k_1} r_1 - 1} \cdot (4 \cdot 2^{k_2} r_2 - 1) \right ) = (2^{k_1} r_1, 2^{k_2} r_2) = (x,y).$$

इसलिए: \(\forall (s,z) \in \mathbb{Z}^2 \, \exists \, m \in \mathbb{N}\) \(h(m) = (x_m,y_m) = (s, z)\)

उदाहरण के लिए, अगर यह \(n = 88\) पर जाने की हमारी बारी है, तो हम स्थिति के रूप में \(h(88)=(2,3)\) और \(2 + 88 \cdot 3 = 266\) गणना करते हैं।

इसके बाद बिल्कुल \(m\) \(x_m + m \cdot y_m = s + m \cdot z = a_m\) \(m\) मूव्स के साथ \(x_m + m \cdot y_m = s + m \cdot z = a_m\) पसंद मेंढक पर गिरता है।

\(h\) , कई अन्य कार्य जैसे कि कैंटर की युग्मन क्रिया या एक विशेषण सर्पिल संभव है।

यहाँ जावास्क्रिप्ट में एक सरल कार्यान्वयन है:

See the Pen catch the frog by David Vielhuber (@vielhuber) on CodePen.

वापस