คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
- เล่น godbolt.org และ wandbox.org เพื่อใช้คอมไพเลอร์รุ่นล่าสุด โดยไม่ต้องลงในเครื่อง ไม่ต้อง maintain
** g++/clang++ ในลินุกซ์ไม่มี conio.h ครับ [Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
- ลองเขียนเพื่อหาคำตอบว่า n เท่าไหร่จะทำให้ int และ unsigned long (uint64_t) เกิด overflow ได้คำตอบที่ผิด
** สังเกตความแตกต่างของ long ในวินโดวส์และลินุกส์ และทำไมควรใช้ int64_t แทน
- ถ้าเรียนฟังก์ชันแล้ว ลองเปลี่ยนลูปเป็น tail call recursive เปรียบเทียบ machine code ที่ผ่าน -O2 ว่าเหมือนกันหรือไม่ [Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
- เปลี่ยนฟังก์ชันเป็น modern c++ lambda [Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
- ถ้าเรียน builtin array และ modulo แล้ว ลองคูณตาม radix แบบประถมเพื่อหา 52! ด้วยหลักแบบฐานสิบ (หลักหนึ่งมี 0-9)
- ถ้าเรียนเรื่อง bitwise shift แล้ว ลองคูณแบบใช้หลักแบบฐาน 256 (หลักหนึ่งมี 0 - FF) แล้วพอจะแสดงผล ค่อยแปลงผลลัพธ์กลับมาแสดงผลด้วยหลักแบบฐานสิบอีกที
- ถ้าเรียนเรื่อง pointer แล้ว ทำข้างบนด้วย standard algorithm std::for_each และ modern c++ lambda
- stand on shoulders of giants แล้วจะมัวมานั่งทำเองให้เหนื่อยทำไม เมื่อมี GMP, Boost ให้เล่น
** g++/clang++ ในลินุกซ์ไม่มี conio.h ครับ [Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
- ลองเขียนเพื่อหาคำตอบว่า n เท่าไหร่จะทำให้ int และ unsigned long (uint64_t) เกิด overflow ได้คำตอบที่ผิด
** สังเกตความแตกต่างของ long ในวินโดวส์และลินุกส์ และทำไมควรใช้ int64_t แทน
- ถ้าเรียนฟังก์ชันแล้ว ลองเปลี่ยนลูปเป็น tail call recursive เปรียบเทียบ machine code ที่ผ่าน -O2 ว่าเหมือนกันหรือไม่ [Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
- เปลี่ยนฟังก์ชันเป็น modern c++ lambda [Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
- ถ้าเรียน builtin array และ modulo แล้ว ลองคูณตาม radix แบบประถมเพื่อหา 52! ด้วยหลักแบบฐานสิบ (หลักหนึ่งมี 0-9)
- ถ้าเรียนเรื่อง bitwise shift แล้ว ลองคูณแบบใช้หลักแบบฐาน 256 (หลักหนึ่งมี 0 - FF) แล้วพอจะแสดงผล ค่อยแปลงผลลัพธ์กลับมาแสดงผลด้วยหลักแบบฐานสิบอีกที
- ถ้าเรียนเรื่อง pointer แล้ว ทำข้างบนด้วย standard algorithm std::for_each และ modern c++ lambda
- stand on shoulders of giants แล้วจะมัวมานั่งทำเองให้เหนื่อยทำไม เมื่อมี GMP, Boost ให้เล่น
แสดงความคิดเห็น



ช่วยเขียนโปรแกรมภาษา C หน่อยครับ