تالار گفتمان مانشت
مقدار بازگشتی Rec(5,3) - نسخه‌ی قابل چاپ

مقدار بازگشتی Rec(5,3) - H-Arshad - 10 مهر ۱۳۹۲ ۰۳:۰۸ ب.ظ

سلام
امکان داره بفرمائید چطوری حل میشه?

int rec(int p,int q)
{ int r;
if (q<=0)
return 1;
r=rec(p,q/2)
r=r*r;
if(q mod 2 ==0)
return r;
else
return p*q;
}

RE: مقدار بازگشتی Rec(5,3) - black_knight - 10 مهر ۱۳۹۲ ۰۴:۰۹ ب.ظ

سلام
[تصویر:  217144_36509829423653411405.jpg]

RE: مقدار بازگشتی Rec(5,3) - H-Arshad - 10 مهر ۱۳۹۲ ۰۹:۲۹ ب.ظ

(۱۰ مهر ۱۳۹۲ ۰۴:۰۹ ب.ظ)black_knight نوشته شده توسط:  سلام
[تصویر:  217144_36509829423653411405.jpg]

سلام
پاسخ صحیح ۱۲۵ می باشد

RE: مقدار بازگشتی Rec(5,3) - black_knight - 10 مهر ۱۳۹۲ ۰۹:۴۷ ب.ظ

(۱۰ مهر ۱۳۹۲ ۰۹:۲۹ ب.ظ)H-Arshad نوشته شده توسط:  
(10 مهر ۱۳۹۲ ۰۴:۰۹ ب.ظ)black_knight نوشته شده توسط:  سلام
[تصویر:  217144_36509829423653411405.jpg]

سلام
پاسخ صحیح ۱۲۵ می باشد
برنامه شو نوشتم ۱۵ دادBig Grin

RE: مقدار بازگشتی Rec(5,3) - H-Arshad - 10 مهر ۱۳۹۲ ۰۹:۵۸ ب.ظ

(۱۰ مهر ۱۳۹۲ ۰۹:۴۷ ب.ظ)black_knight نوشته شده توسط:  
(10 مهر ۱۳۹۲ ۰۹:۲۹ ب.ظ)H-Arshad نوشته شده توسط:  
(10 مهر ۱۳۹۲ ۰۴:۰۹ ب.ظ)black_knight نوشته شده توسط:  سلام
[تصویر:  217144_36509829423653411405.jpg]

سلام
پاسخ صحیح ۱۲۵ می باشد
برنامه شو نوشتم ۱۵ دادBig Grin
ممنون
مقسمی این رو میگه
R=Rec(5,0) R=1
R=R*R R =1*1=1
if ( 1 mod 2 ==0)
return R;
else
return R*5 ; R=1*5=5
R=Rec (5,1 ) R=5
R=R*R R=5*5=25
if (3 mod 2 ==0
)
retunr r;
else
return r*5 ; R=25*5=125

RE: مقدار بازگشتی Rec(5,3) - black_knight - 10 مهر ۱۳۹۲ ۱۰:۰۴ ب.ظ

(۱۰ مهر ۱۳۹۲ ۰۹:۵۸ ب.ظ)H-Arshad نوشته شده توسط:  
(10 مهر ۱۳۹۲ ۰۹:۴۷ ب.ظ)black_knight نوشته شده توسط:  
(10 مهر ۱۳۹۲ ۰۹:۲۹ ب.ظ)H-Arshad نوشته شده توسط:  
(10 مهر ۱۳۹۲ ۰۴:۰۹ ب.ظ)black_knight نوشته شده توسط:  سلام
[تصویر:  217144_36509829423653411405.jpg]

سلام
پاسخ صحیح ۱۲۵ می باشد
برنامه شو نوشتم ۱۵ دادBig Grin
ممنون
مقسمی این رو میگه
R=Rec(5,0) R=1
R=R*R R =1*1=1
if ( 1 mod 2 ==0)
return R;
else
return R*5 ; R=1*5=5
R=Rec (5,1 ) R=5
R=R*R R=5*5=25
if (3 mod 2 ==0
)
retunr r;
else
return r*5 ; R=25*5=125
خوب معلوم شد مشکل چیه اشتباه تایپی به جای return r*p نوشته return q*p

RE: مقدار بازگشتی Rec(5,3) - H-Arshad - 11 مهر ۱۳۹۲ ۰۱:۰۷ ق.ظ

(۱۰ مهر ۱۳۹۲ ۱۰:۰۴ ب.ظ)black_knight نوشته شده توسط:  
(10 مهر ۱۳۹۲ ۰۹:۵۸ ب.ظ)H-Arshad نوشته شده توسط:  
(10 مهر ۱۳۹۲ ۰۹:۴۷ ب.ظ)black_knight نوشته شده توسط:  
(10 مهر ۱۳۹۲ ۰۹:۲۹ ب.ظ)H-Arshad نوشته شده توسط:  
(10 مهر ۱۳۹۲ ۰۴:۰۹ ب.ظ)black_knight نوشته شده توسط:  سلام
[تصویر:  217144_36509829423653411405.jpg]

سلام
پاسخ صحیح ۱۲۵ می باشد
برنامه شو نوشتم ۱۵ دادBig Grin
ممنون
مقسمی این رو میگه
R=Rec(5,0) R=1
R=R*R R =1*1=1
if ( 1 mod 2 ==0)
return R;
else
return R*5 ; R=1*5=5
R=Rec (5,1 ) R=5
R=R*R R=5*5=25
if (3 mod 2 ==0
)
retunr r;
else
return r*5 ; R=25*5=125
خوب معلوم شد مشکل چیه اشتباه تایپی به جای return r*p نوشته return q*p
ممنون