CREDIT : ขอบคุณพี่ smallfox.exe จากเว็บบอร์ดภาค ทำให้น้องที่พึ่งเริ่มเขียนโปรแกรมได้เข้าใจในการเขียน recursive
มีคำถามจากนักศึกษาคนหนึ่งถามว่า "เราจะคิดโปรแกรมที่มีการทำงานแบบ Recursive ได้อย่างไร?"
อัน นี้เป็นคำตอบที่ตอบยากมาก ผมก็เลยตอบไปว่ามันขึ้นอยู่กับประสบการณ์ในการเขียนโปรแกรม ซึ่งมันก็เป็นคำตอบที่ถูก(ตามความเห็นของผม) แต่ก็ยังไม่ครอบคลุม แล้วมีคำตอบที่ดีกว่านี้หรือเปล่า?
หลังจากที่ผมลองไปหาข้อมูลมา ก็ได้คำตอบต่าง ๆ กันมากมาย แต่ข้อมูลที่ได้รับล้วนแล้วแต่ขึ้นต้นด้วยคำว่า “มันเป็นคำตอบที่ยาก” เพราะว่ามันไม่ได้มีหลักอะไรไว้ตายตัวอย่าง 1+1=2 มันจึงค่อนข้างเป็นคำตอบที่ตอบยาก และต้องใช้ประสบการณ์ในการโปรแกรม
ลองมาดูความเห็นแรกกันก่อนดีกว่า
[hide=5]จาก Aj. Pichaya
การ คิด Recursive Algorithm เป็นกลไกการวิธีการทำงานในเชิงคณิตศาสตร์ ซึ่งหากเรามองในทฤษฎีตรงนั้นออก เราก็จะสามารถเขียน Recursive Algorithm ได้
เช่น [code]F(x)! = F(x)*F(x-1)!