चुनौती: xइस तरह परिभाषित करें कि अभिव्यक्ति (x == x+2)सही का मूल्यांकन करेगी।
मैंने C के साथ प्रश्न को टैग किया, लेकिन अन्य भाषाओं में उत्तर स्वागत योग्य हैं, जब तक वे रचनात्मक हैं या भाषा के एक दिलचस्प पहलू को उजागर करते हैं।
मैं एक सी समाधान को स्वीकार करने का इरादा रखता हूं, लेकिन अन्य भाषाओं को मेरा वोट मिल सकता है।
- सही - मानक-अनुरूप कार्यान्वयन पर काम करता है। अपवाद - यदि यह एक सामान्य कार्यान्वयन है (जैसे कि मान
int32bit 2 का पूरक है) ठीक है , तो बुनियादी प्रकारों के कार्यान्वयन को ठीक माना जाता है। - सरल - छोटा होना चाहिए, मूल भाषा सुविधाओं का उपयोग करना चाहिए।
- दिलचस्प है - यह व्यक्तिपरक है, मैं मानता हूं। मेरे पास कुछ उदाहरण हैं जो मुझे दिलचस्प मानते हैं, लेकिन मैं संकेत नहीं देना चाहता। अपडेट करें : प्रीप्रोसेसर से बचना दिलचस्प है।
- त्वरित - पहला अच्छा जवाब स्वीकार किया जाएगा।
60 उत्तर मिलने के बाद (मुझे इस तरह के अनुमान की उम्मीद नहीं थी), उन्हें संक्षेप में प्रस्तुत करना अच्छा हो सकता है।
60 उत्तर 7 समूहों में विभाजित हैं, जिनमें से 3 को C में लागू किया जा सकता है, बाकी अन्य भाषाओं में:
- C प्रीप्रोसेसर।
#define x 2|0सुझाव दिया गया था, लेकिन कई अन्य संभावनाएं हैं। - तैरनेवाला स्थल। बड़ी संख्या, अनंत
या NaNसभी काम करते हैं। सूचक अंकगणित। एक विशाल संरचना के लिए एक सूचक जिसके चारों ओर लपेटने के लिए 2 जोड़ रहा है।
बाकी सी के साथ काम नहीं करते:
- ऑपरेटर ओवरलोडिंग - A
+जो जोड़ या नहीं करता है==ही जो हमेशा सच होता है। - बनाना
xएक समारोह कॉल (कुछ भाषाओं के बिना इसे अनुमतिx()वाक्य रचना)। फिर यह हर बार कुछ और लौटा सकता है। - एक बिट डेटा प्रकार। तब
x == x+2 (mod 2)। - बदलना
2- कुछ भाषा आपको0इसे असाइन करने देती है।
add to Setमानक पुस्तकालय द्वारा + का अर्थ है, +अपने आप को फिर से परिभाषित किए बिना , इन 7 श्रेणियों, IMHO में फिट नहीं होता है।
4. Quick? आपका मतलब है "जो कोई भी जानता है और पहले इस प्रश्न को पढ़ने के लिए पर्याप्त भाग्यशाली है"?