August 25, 2021 6:54 PM (GMT+7)

เมื่อประมาณอาทิตย์ที่แล้ว ได้ดูวิดีโออันนึงของช่อง Veritasium ที่ทำเกี่ยวกับปัญาหาคณิตศาสตร์ที่ง่ายที่สุด แต่ว่าไม่มีใครแก้ได้ ว่าด้วยเรื่อง Collatz Conjecture คือเป็นฟังก์ชันง่าย ๆ ที่มีเงื่อนไขสองฟังก์ชัน

https://www.youtube.com/watch?v=094y1Z2wpJg

ซึ่งตอนดูรู้สึกว่าเป็นอะไรที่น่าสนใจมากสำหรับคณิตศาสตร์ แล้วก็รู้สึกว่าถ้าเอามาเขียนโค้ดน่าจะสนุกดี เพราะลองคิดดูแล้วก็ไม่ได้มีอะไรยากขนาดนั้น (เผื่อเราจะเป็นผู้ค้นพบคำตอบไง55555)

วันนี้ไม่รู้นึกยังไงแต่ก็ลองมานั่งเขียนดู แต่พอเปิด VS Code ขึ้นมาแล้วรู้สึกว่างเปล่า ไม่รู้จะเริ่มตรงไหนดี คือยังไม่รู้เลยว่าสุดท้ายอยากให้มันหน้าตาออกมาประมาณแบบไหน บวกกับไม่ได้แตะ Python มานานมาก น่าจะหลายเดือน เลยรู้สึกลืม ๆ อะไรไปเยอะ

ก็เลยรู้สึกว่าจำเป็นจะต้องเขียน Flowchart หน่อย อย่างน้อยจะได้นึกภาพออก

แล้วก็นั่งงงอยู่นานพอสมควรกว่าจะได้ Flowchart ที่เสร็จสมบูรณ์ออกมา หน้าตาก็จะประมาณนี้

Untitled

จากนั้นเมื่อได้มันออกมาแล้วก็รู้สึกว่าพร้อมที่จะ code ขึ้นมาหน่อย เหมือนมีภาพที่อยากจะให้มันเกิด แล้วก็มีขั้นตอนหนึ่งสองสาม

ปรากฏว่าตอนที่โค้ดรู้สึกว่าเป็นอะไรที่ง่ายมาก เพราะเราแค่ต้องแปลภาษาจากภาพนี้ออกมาเป็นโค้ดเท่านั้นเอง

Untitled

ตอนที่เขียนเสร็จคือหวังว่าให้มัน Run ได้เลยในครั้งแรก เพราะไม่น่าจะเคยมีใครทำได้ เพราะเท่าที่ดูก็ไม่เห็น Bug อะไร (แน่ล่ะสิ ใครจะเห็น) แต่สุดท้ายมันก็ไม่ได้นั่นแหละ นั่งหาอยู่นานมากว่าเป็นเพราะอะไร สุดท้ายถึงรู้ว่า ต้องแก้จาก runner =+1 เป็น runner += 1 😂😂 โถ่ว เขียนไปได้ยังไง เมาจริง ๆ

คือก็แน่นอนว่ามันสามารถทำให้สั้นได้กว่านี้อีก แต่ว่าตอนนี้ก็พอแค่นี้ดีกว่า

สุดท้ายผลที่ได้ก็จะประมาณนี้