सात पटकमा मेरो सङ्ख्या अनुमान गर
1 देखि 100 सम्मको एउटा सङ्ख्या सोच्नुहोस् र कम्प्युटरलाई अनुमान गर्न दिनुहोस्। यसले सधैँ बाँकी रहेकाको बीचको सङ्ख्या भन्छ, र हरेक “धेरै ठूलो” वा “धेरै सानो” ले आधा सङ्ख्या फ्याँकिदिन्छ। यसका अनुमान गन्नुहोस् र यसलाई सबैभन्दा धेरै मेहनत गराउने सङ्ख्या खोज्नुहोस्।
मूल अवधारणा
हरेक पटक दायरा आधा गर्दा 1 देखि 100 सम्मको जुनसुकै सङ्ख्या बढीमा 7 अनुमानमा भेटिन्छ, किनकि 7 पटक आधा गर्दा 100 वटा सङ्ख्या 1 मा झर्छन् (2⁷ = 128): binary search को आधार यही हो
पाठ: Algorithm को दक्षता
अनुमान खेलमा एक जनाले 1 देखि 100 सम्मको सङ्ख्या सोच्छ, र अर्कोले अनुमान गर्छ। हरेक अनुमानपछि उत्तर “धेरै ठूलो”, “धेरै सानो” वा “सही” हुन्छ। 1, 2, 3 … भन्दै गए 100 अनुमानसम्म लाग्न सक्छ। अझ चलाख तरिका बीचको सङ्ख्या 50 भन्नु हो। 50 धेरै ठूलो भए सङ्ख्या 1 र 49 बीच हुन्छ, त्यसैले एकै अनुमानमा आधा सङ्ख्या हटे। अनि बाँकीको बीचको सङ्ख्या भन्ने, र आधा गर्दै जाने। प्रोग्रामले यो while Loop: दोहोरिने चरणहरू, निश्चित पटक वा कुनै कुरा सत्य नभएसम्म। सबै मुख्य शब्द र दुईवटा Variable: नाम दिइएको बाकस, जसमा Program ले पढ्न र बदल्न सक्ने मान राखिन्छ। सबै मुख्य शब्द, low र high ले गर्छ: guess ← floor((low + high) / 2)। 2 × 2 × 2 × 2 × 2 × 2 × 2 = 128, 100 भन्दा ठूलो भएकाले बढीमा 7 पटक आधा गरे पुग्छ।
के सिक्नुहुनेछ
- low, high र बीचको अनुमानले दायरा आधा गर्ने while loop trace गर्नुहोस्।
- फरक गोप्य सङ्ख्याका लागि आधा गर्ने तरिकालाई लाग्ने अनुमान गन्नुहोस्।
- 1 देखि 100 का लागि 7 अनुमान किन सधैँ पुग्छ, व्याख्या गर्नुहोस्।
- आधा गर्ने तरिकालाई एकपछि अर्को सङ्ख्या अनुमान गर्ने तरिकासँग तुलना गर्नुहोस्।
सुरु गर्नुअघि
- while loop र if / else कसरी काम गर्छन्, थाहा हुनुपर्छ।
सामग्री
- अनुमान खेल खेल्ने साथी
उपकरण
- केही पनि चाहिँदैन
विधि
- कम्प्युटरलाई 37 खोज्न दिएर यसका अनुमान पढ्नुहोस्।
- सबैभन्दा धेरै अनुमान लाग्ने गोप्य सङ्ख्या खोज्नुहोस्।
- एउटा खेलमा Step गर्दै low र high नजिकिँदै गएको हेर्नुहोस्।
- अभ्यासका challenge हरूको उत्तर दिनुहोस्।