หัวข้อ: กำลัง งง
ดูหนึ่งข้อความ
  #2  
Old 14 กรกฎาคม 2005, 23:37
passer-by passer-by ไม่อยู่ในระบบ
ผู้พิทักษ์กฎทั่วไป
 
วันที่สมัครสมาชิก: 11 เมษายน 2005
ข้อความ: 1,442
passer-by is on a distinguished road
Post

อ้างอิง:
โดยธรรมชาติของกระต่ายในที่นี้เมื่ออายุครบ 2 เดือนบริบูรณ์จะมีลูก 1 คู่
รู้สึกว่า ปัญหาของคุณ Mangcom จะเหมือน ปัญหายอดฮิตเกี่ยวกับ fibonacci เลยนะครับ ถ้าเป็นเช่นนั้นจริง ข้อความข้างบน น่าจะเขียนเพิ่มไปด้วยว่า หลังจากกระต่ายอายุครบ 2 เดือน แล้ว จะให้กำเนิด กระต่ายคู่ใหม่ 1 คู่ และจะทำเช่นนี้เรื่อยๆไป ในเดือนต่อๆไป

ถ้าให้ f(n) แทนจำนวนกระต่าย เมื่อสิ้นสุด เดือนที่ n

จะเห็นว่า f(0)= 1 , f(1)=1 เพราะกระต่ายยังอายุไม่ครบ 2 เดือน

แต่หลังจากนี้ จำนวนกระต่าย f(n) จะเท่ากับ จำนวนกระต่ายเดิมที่ยังอยู่ f(n-1) บวกกับ จำนวนกระต่ายคู่ใหม่ที่จะเกิด f(n-2) หรือเขียนเป็น recurrence relation ได้ว่า

f(n) = f(n-1)+f(n-2) (n2)

ถ้าไม่ เคลียร์ ดูได้จาก diagram ใน web นี้ครับ
CLICK

สรุปว่า recurrence relation สำหรับปัญหานี้ ก็คือ
f(0)= 1 , f(1)=1
f(n) = f(n-1)+f(n-2) (n2)

แล้วก็คงต้องเขียนโปรแกรม แบบ recursive แล้วล่ะครับ (อ้อ! ระวัง เรื่อง stack overflow ด้วยนะครับ)
__________________
เกษียณตัวเอง ปลายมิถุนายน 2557 แต่จะกลับมาเป็นครั้งคราว
ตอบพร้อมอ้างอิงข้อความนี้