१००० डबे - कोडे

हे कोडे मला सोडवता आले नाही. या कोड्याच्या उत्तराचे २ भाग आहेत पैकी पहीला मला सिद्ध करता येत नाहीये Sad (कोणीतरी मदत करा) पण दुसरा भाग कळला.
मी ते दोन्ही भाग शेवटी सांगीन.
तोपर्यंत आपापल्या पद्धतीने कोडे सोडवा.
.
(०) एका हॉस्टेलवरती १००० मुले-मुली आहेत. प्रत्येकाचा एक खाऊचा डबा आहे. अर्थात १००० डबे आहेत.
(१) हॉस्टेलच्या पर्यवेक्षिका एका मुलाला सांगतात की जा सर्व डबे उघडून ये.
(२) नंतर दुसर्‍या मुलाला सांगतात तू जा आणि प्रत्येक दुसरा डबा बंद करुन ये.
(३) तीसर्‍या मुलाला सांगतात की प्रत्येक तीसरा डबा उघडा असेल तर बंद कर व बंद असेल तर उघड,
(४)चवथ्या मुलीला सांगतात की प्रत्येक चवथा डबा उघडा असल्यास बंद कर व बंद असल्यास उघड.
.
.
.
(५) असे हजार मुलीपर्यंत सूचना देतात. डिट्टो प्रोसेस.

प्रश्न - कितव्या क्रमांकाचे डबे उघडे असतील.

field_vote: 
0
No votes yet

प्रतिक्रिया

काही सोपी उत्तरं
डबा क्रमांक १. उघडा
डबा क्रमांक कोणतीही मूळ संख्या - बंद. (२,३,५,७,११,१३,१७,१९....)

मला वाटतं हा उत्तराचा सिद्ध करता येण्याजोगा भाग असावा.

पुढचा भाग - माझा अंदाज - ज्या संख्येचे विषम मूळ अवयव आहेत ते डबे बंद. ज्या संख्येचे सम मूळ अवयव आहेत ते डबे उघडे.

पुढचा भाग - माझा अंदाज - ज्या संख्येचे विषम मूळ अवयव आहेत ते डबे बंद. ज्या संख्येचे सम मूळ अवयव आहेत ते डबे उघडे.

उत्तर अगदी बरोबर आहे.

इतक कठीण कोड वाचुनच
डब्बा गुल झाला

सळसळ पानांची होती बागेत पिंपळाच्या
असे भेटलो आम्ही छायेत पिंपळाच्या
सनसननन् सांय सांय हो रही थी बाग मे
हम दोनो अैसे मिले पिप्पल की छांव मे.

हे कोडं मला माहित होतं. उत्तर असं:

उघडा डबा बंद करणं किंवा बंद डबा उघडणं याला ‘हस्तक्षेप’ म्हणूया. आता प्रश्न असा की एखादा विशिष्ट डबा निवडला तर त्याच्यावर किती वेळा हस्तक्षेप होतो? जर सम वेळा झाला (समजा ६ वेळा) तर तो शेवटी बंद राहील (उघडा-बंद, उघडा-बंद, उघडा-बंद). जर विषम वेळा झाला (समजा ७ वेळा) तर उघडा राहील (उघडा-बंद, उघडा-बंद, उघडा-बंद, उघडा!)

आता मेख अशी की एखादी संख्या पूर्ण वर्ग असेल तर आणि तरच तिच्यावर विषम वेळा हस्तक्षेप होतो. उदाहरणार्थ, ३६ वा डबा घ्या. त्यावर ३ ऱ्या मुलीने केलेला हस्तक्षेप आणि १२ वीने केलेला हस्तक्षेप ह्यांची जोडी जुळवता येते (कारण ३ x १२ = ३६). तशी ४ आणि ९ ची जोडी जुळते, १ आणि ३६ ची जुळते वगैरे. पण ६ शी जोडी जुळायला कोणीच नसतं.

याउलट २८ वा डबा (वर्ग नसलेली संख्या) घ्या. त्याच्यावर ४ आणि ७, १ आणि २८ अशा सगळ्या हस्तक्षेपांच्या जोड्या जुळतात, म्हणून त्याच्यावर सम वेळा हस्तक्षेप होतो.

तात्पर्य: संख्या जर पूर्ण वर्ग असेल (१, ४, ९, १६, २५ वगैरे) तर तो डबा उघडा राहतो, नाहीतर नाही. सगळे मिळून डबे १००० आहेत की किती आहेत यामुळे फरक पडत नाही.

- जयदीप चिपलकट्टी (होमपेज)

उत्तर अगदी बरोबर आहे.
पण जचि,हेच कसं सिद्ध करायचं की प्रत्येक वर्गाचे विषम अवयव असतात?
_________
अर्थात आपल्या कोड्यापुरता फक्त ३१ पर्यंत जाणे व हे सिद्ध करणे की ३१ नंबरांच्या वर्गाला विषम अवयव आहेत. हे पुरेसे आहे. कारण ३२ च्या वर्गाची किंमत १००० पेक्षा जास्त येते.
_________
पण इन जनरलच कोणी असे सिद्ध केलेले आहे का की प्रत्येक वर्गाचे विषम अवयव असतात?
किंवा
मग एक असा वर्ग शोधून काढला आहे का ज्याला सम अवयव आहेत?

> पण जचि,हेच कसं सिद्ध करायचं की प्रत्येक वर्गाचे विषम अवयव असतात?

वर जी दोन उदाहरणं दिली (३६ आणि २८) त्यांत सिद्धता अध्याहृत होती.

समजा न ही संख्या आहे. जर य हा तिचा अवयव असेल तर अर्थात न/य हासुद्धा अवयव असणार. त्यामुळे य आणि न/य अशी जोडी जुळवता येईल, पण केव्हा तर या दोन वेगळ्या संख्या असतील तेव्हाच. जर य=न/य असेल तर जोडी जुळवता येणार नाही. पण य=न/य म्हणजेच न = य^२.

तेव्हा न ही संख्या जर कशाचाच वर्ग नसेल तर सगळ्या जोड्या जुळून एकूण अवयवांची संख्या सम ठरेल. जर ती कशाचातरी वर्ग असेल तर फक्त एका अवयवाला जोडी जुळायची राहील आणि एकूण अवयवांची संख्या विषम ठरेल.

- जयदीप चिपलकट्टी (होमपेज)

ओह नो. कळलं कळलं Smile धन्यवाद खरच.

नवीन भाषा शिकत असल्यामुळे हे कोडं सोडवण्यासाठी कार्यक्रम(!) लिहिला; ज.चि. ह्यांचे उत्तर योग्य आहे असे मानून कार्यक्रम योग्य आहे का नाही, हे पडताळून पाहिले.

---

सांगोवांगीच्या गोष्टी म्हणजे विदा नव्हे.

प्लीज ते प्रोग्रॅमिंग मराठीत लिही ना.
____________________________________

व्हेरिएबल १ = n, व्हेरिएबल २ = k, व्हेर ३ = i
k == १ ..................................... जिथे जिथे i, k, n असेल तिथे तिथे व्हेर अमुक अमुक असे येणार. वाचायला सोपे करण्याकरता व्हेरिअबल शब्द टाकला नाहीये.
i == १
फॉर k=१ टिल k=n
ईफ ( n mod k) == ० देन
अ‍ॅरे[i] == k
i=i+1
एन्ड इफ
k = k + १
फॉर एन्ड

इफ (अ‍ॅरेचा काऊंट) मॉड २ == १
देन प्रिंट "हुर्रे वर्ग मिळाला म्हणजे डबा उघडा"
एल्स
प्रिंट ("डबा बंद")
एन्ड इफ

अगं, अॅरे ही खूप उधळमाधळ वाटते.

प्रत्येक आकड्यासाठी किती अवयव आहेत हे मोजायचं; मी दोनपासून सुरुवात केली. एक आणि तो आकडा हे अवयव असणारच हे गृहीत धरून ते मोजले नाहीत. अवयवांची संख्या विषम असेल तर तेच छापायचे. इथे पहिली पायरी पूर्ण केली.

आता सध्या शिकत्ये, समोर असलेली नैसर्गिक संख्या (इंटिजर) पूर्ण वर्ग आहे का नाही हे कसं तपासायचं ते. पहिल्या पायरीतच हा भाग घुसवून तो आकडा पूर्ण वर्ग आहे का नाही हे तपासून बघेन.

---

सांगोवांगीच्या गोष्टी म्हणजे विदा नव्हे.

ओके. पण मजा मजा लिहीत जा. वाटल्यास मनातील प्रश्न वर लिही पण लिही. कारण मला असे प्रश्न आवडतात, तसे अनेकांना आवडत असतील.

आता उरलेला कोड पूर्ण केला. प्रत्येक आकड्यासाठी अवयवांची संख्या विषम आहे का आणि तो आकडा पूर्ण वर्ग आहे का, हे तपासून पाहिलं. अशा आकड्यांची संख्या मोजली. हा तो कोड.

long tst = (long) (Math.sqrt(i));
if (tst*tst == i && NoFactors % 2 == 1 ) {
NoOfNumbers++ ;
}

(मी कोणती भाषा शिकत्ये ते ओळखा, असं कोडं नाही.)

---

सांगोवांगीच्या गोष्टी म्हणजे विदा नव्हे.

हां बरचसं कळलं. पण NoOfNumbers काय आहे? म्हणजे बघ मी समजा i = ३ घेतला तर इफ लुप मध्ये जाणारच नाही.
पण i = ४ घेतला तर इफ लुपमध्ये जाईल.
मग
NoOfNumbers एकने वाढेल. काय आहे तो NoOfNumbers? ..... ये जाननेकेलिये १ घंटेमे इसी दिन इसी जगह मिलते है, तब तक के लिये अलविदा ROFL
.
लँग्वेज कळली नाही Sad
C वाटते.

पूर्ण लिहिलं नाही. NoOfNumbers म्हणजे किती आकड्यांची अवयव संख्या विषम असेल तो आकडा.

(भाषा कोणती ते सोड, हस्ताक्षर पाहा.)

---

सांगोवांगीच्या गोष्टी म्हणजे विदा नव्हे.

हां मला वाटलच "किती आकड्यांची अवयव संख्या विषम असेल तो आकडा".
.

भाषा कोणती ते सोड, हस्ताक्षर पाहा.

हाहाहा

तात्पर्य: संख्या जर पूर्ण वर्ग असेल (१, ४, ९, १६, २५ वगैरे) तर तो डबा उघडा राहतो, नाहीतर नाही. सगळे मिळून डबे १००० आहेत की किती आहेत यामुळे फरक पडत नाही.

बरोबर.

कोडं आणि त्याचे उत्तर ऐकून बोलती बंद झाली आहे.
हेच प्रिन्सिपल लावून जगांतल्या सर्व माणसांच्या मेंदूचे डबे उघडझाप केले, तर जेवढे मेंदू उघडे रहातील तेवढीच हुशार माणसे या जगांत असावीत. आमचा डबा अर्थातच बंद अवस्थेत असेल.

एकच योगी
बाकी सारे भोगी

आमचा डबा अर्थातच बंद अवस्थेत असेल.

ROFL आमचाही.

त्याबरोबर माझे इतर अवयव (सम आणि विषम दोन्ही) हेही बंदच अवस्थेत असतील.

*********
आलं का आलं आलं?

एक असंच कोडं- अमुक एक लोक कैदी वर्तुळाकार उभे केले आणि जेलरने प्रत्येक तिसरा माणूस मारला तर कितवा -सुरुवात केल्यापासून जिवंत राहील .याचं उत्तर विकिवर आहे गणिताने सोडवलेलं.
उत्तर आवडलं.

आधी सांगा डब्यात खायला काय आहे ,मग पुढचे बघू.

™ ग्रेटथिंकर™

शुचि - आज सकाळी लिहीला कोड आणि जमला, छोटाच आहे.

आधी काल सकाळी कोडे तेंव्हा आपल्याला विचार करणे पण शक्य नाही असे वाटल्यानी सोडुन दिले होते. पण लोक भलतीच हुशार आहेत हे बघुन अदितीतैंची कोड लिहीण्याची गोष्ट पटल्यामुळे आज सकाळी ते पहिल्यांदी केले.
बाकी ज.चि. सारखी मुलभुत समजुत अजिबात डोक्यात शिरली नसती. प्रतिसाद वाचले नसते तर प्रयत्न पण केला नसता.

धन्स

अभिनंदन. ऐकून छान वाटलं. मलाही कोडे सुटले नव्हतेच Smile
_____
मी वेगळाच विचार करत बसले. की समजा तीसर्‍या मुलाने १७ व्या डब्यापासून सुरुवात केली, चवथ्या मुलाने, ४० व्या, ५ व्याने २ अ‍र्‍या वगैरे रँडमली.
पण तो विचार मी चट्टकन झटकायला हवा होता कारण एक विशिष्ठ ऑर्डर (क्रम) नसती तर प्रेडिक्ट करणं, अंदाज वर्तवणं शक्यच नव्हतं Sad
माझा मूलभूत अर्थात बेसिकातच लोचा झाला.