חידת תכנות

עריסטו

Active member
חידת תכנות

הנה פונקציה בפסאודו-קוד:
function f(a, b) while a > 1 and b > 1 a = f(a - 1, b) b = b - 1 return a + b​
שאלה: כמה זה
f(3, 5)​
? שאלה אכזרית:
כמה זה
f(2, 10)​
?
 

ranpollak

New member
אוף איזו חידה ../images/Emo4.gif

נסיון לפתרון: הראשון - 14 השני - 19
 

Tesseract

New member
התשובה לראשון

עבור F(3, 5), יוחזר:
7 * 2^221 - 2​
על השני אחשוב יותר מאוחר (קצת מעייף הדבר הזה).
 

MIster Maths

New member
טוב, גם אני אנסה.

3>1 5>1 a=f(2,5) b=4 2>1 5>1 a=f(1,5) b=4 כלומר הערך הראשון מהסוף להתחלה הוא: 1+5=6 a=6 b=4 b+a=10 ובהתחלה 10+4=14 כמובן שיכול להיות שאני טועה, אבל הפונקציה מקבלת את הערך a+b נכון?
 

עריסטו

Active member
../images/Emo26.gifגירסה יפה יותר לחידה../images/Emo36.gif

function f(a,b) while a>1 and b>1 a=f(a-1,b) b=b-1 if b=1 return 2+a else return 2​
שאלות: למצוא כמה שווה
f(n,1) f(n,2) f(n,3) f(n,4) f(n,5) f(5,5)​
המספר האחרון - f(5,5) - הוא מספר נחמד ביותר!
 
למעלה