|
|
سوال زیر برنامه بازگشتی - نسخهی قابل چاپ |
|
سوال زیر برنامه بازگشتی - Masi66 - 13 مهر ۱۳۹۲ ۰۲:۵۰ ب.ظ
در خواست حل و توضیح تست شماره۶ فصل اول کتاب ساختمان داده مقسمی با اجرای برنامه زیر چه عددی چاپ می شود؟ برنامه نوشته شده در سمت چپ صحیح می باشد. Int func(int,int) Int func((int,int Void main() { Void main int n=2; int n=2 int m=3; int m=3 printf(“%d\n”,func(n,m)); printf(“%d\n”,func(n,m } { Int func(int m,int n) { Int func(int m,int n If(m==0) If(m==0) Return n++; Return n If(n==0) If(n==0 Return func((m-1),1); Return func((m-1),1 Return func((m-1),func(m,n-1)); Return func((m-1),func(m,n-1 } ۱)۱ ۲)۴ ۳)۷ ۴)۹ |
|
RE: سوال زیر برنامه بازگشتی - خاطره - ۱۴ مهر ۱۳۹۲ ۰۶:۱۰ ب.ظ
درخت بازگشت رابطه رو بکشید [tex]f(2, 3)[/tex] [tex]f(1, f(2, 2))[/tex] [tex]f(1, f(2, 1))[/tex] [tex]f(1, f(2, 0))[/tex] [tex]f(1, f(1,1))[/tex] [tex]f(0, f(0, 1))[/tex] [tex]f(0, 1)[/tex] طبق شرط پایه [tex]f(0, 1)= 1[/tex] همینطور مرحله به مرحله مقدار رو جایگزین کنید همون عدد یک بدست میاد . فقط چون post increment هست اول return میشه عدد، بعد به اضافه یک میشه ! |
|
RE: سوال زیر برنامه بازگشتی - black_knight - 15 مهر ۱۳۹۲ ۰۲:۳۶ ق.ظ
سلام ببخشید سوال ۶ کتاب من فرق می کرد اون ++ هم تاثیری رو مقدار بازگتس نداره چون پرِ اور دره
|