ความท้าทาย: กำหนดx
ในลักษณะที่การแสดงออก(x == x+2)
จะประเมินเป็นจริง
ฉันติดแท็กคำถามด้วย C แต่ยินดีต้อนรับคำตอบในภาษาอื่นตราบใดที่พวกเขามีความคิดสร้างสรรค์หรือเน้นแง่มุมที่น่าสนใจของภาษา
ฉันตั้งใจจะยอมรับโซลูชัน C แต่ภาษาอื่นสามารถรับการโหวตของฉันได้
- ถูกต้อง - ทำงานกับการใช้งานที่ได้มาตรฐาน ข้อยกเว้น - สมมติว่ามีการใช้งานประเภทพื้นฐานหากเป็นการใช้งานทั่วไป (เช่นสมมติว่า
int
เป็นส่วนประกอบ 32 บิต 2) ก็โอเค - ง่าย - ควรมีขนาดเล็กใช้คุณสมบัติภาษาขั้นพื้นฐาน
- น่าสนใจ - เป็นเรื่องส่วนตัวฉันยอมรับ ฉันมีตัวอย่างสำหรับสิ่งที่ฉันคิดว่าน่าสนใจ แต่ฉันไม่ต้องการให้คำแนะนำ อัพเดต : การหลีกเลี่ยงตัวประมวลผลล่วงหน้าเป็นสิ่งที่น่าสนใจ
- ด่วน - คำตอบที่ดีแรกจะได้รับการยอมรับ
หลังจากได้รับคำตอบ 60 ครั้ง (ฉันไม่เคยคาดหวังว่าจะมีการคาดการณ์เช่นนี้) มันอาจเป็นการดีที่จะสรุปพวกเขา
60 คำตอบแบ่งเป็น 7 กลุ่มโดย 3 กลุ่มสามารถนำไปใช้ใน C ส่วนที่เหลือเป็นภาษาอื่น:
- ตัวประมวลผลล่วงหน้า C
#define x 2|0
แนะนำ แต่มีความเป็นไปได้อื่น ๆ อีกมากมาย - จุดลอยตัว ตัวเลขขนาดใหญ่อินฟินิตี้
หรือน่านทั้งหมดทำงานได้ เลขคณิตของตัวชี้ ตัวชี้ไปยังโครงสร้างขนาดใหญ่ทำให้การเพิ่ม 2 เพื่อตัด
ส่วนที่เหลือไม่ทำงานกับ C:
- โอเปอร์เรเตอร์ที่เกินพิกัด - A
+
ที่ไม่เพิ่มหรือ a==
ที่คืนค่าจริงเสมอ - ทำให้
x
การเรียกฟังก์ชั่น (บางภาษาให้มันได้โดยไม่ต้องx()
ไวยากรณ์) จากนั้นมันจะคืนสิ่งอื่นทุกครั้ง - ชนิดข้อมูลหนึ่งบิต
x == x+2 (mod 2)
แล้วก็ - การเปลี่ยน
2
- บางภาษาช่วยให้คุณกำหนด0
ได้
add to Set
โดยไลบรารีมาตรฐานโดยไม่ต้องกำหนด+
ตัวเองใหม่ไม่เหมาะกับ 7 หมวดหมู่เหล่านี้ IMHO
4. Quick
? คุณหมายถึง "ใครรู้จักและโชคดีพอที่จะอ่านคำถามนี้ก่อน"?