PDA

View Full Version : سوال: تابع برگشتی در پاسگال(کنکوری)


babakgm
شنبه 20 مهر 1387, 05:11 بعد از ظهر
function rec(n):integer
begin
if n=1 then rec:=1
else
re:=rec(n-1)+rec(n-1)
end

مقدار برگشتی rec(5)

چه اتفاقی برای این برنامه میوفته که جواب آن 16 میشود؟
در صوتی که من جواب را 8 دراوردم :؟

در پاسخ کنکوری حل اینطور گفته شده
rec(5)=rec(4)+rec(4)=2*8=16

اما من نمی فهمم چرا در 2 ضرب شده؟

رضا عربلو
سه شنبه 23 مهر 1387, 11:35 بعد از ظهر
به این قسمت توجه کن:

re:=rec(n-1)+rec(n-1)

whitehat
سه شنبه 23 مهر 1387, 11:44 بعد از ظهر
rec(5)=rec(4)+rec(4)
rec(4)=rec(3)+rec(3)
rec(3)=rec(2)+rec(2)
rec(2)=rec(1)+rec(1)
rec(1)=1
-->rec(2)=1+1=2
-->rec(3)=2+2=4
-->rec(4)=4+4=8
-->rec(5)=8+8=16