|fav המועדפים שלי |pad מחברת אישית|talckback תגובות הקוראים|poll השתתף בסקר |
  
|about אודות|eitan home page   תפריט איתן
מבני נתונים - רקורסיה - שאלות חזרה
 

רקורסיה - שאלות חזרה

1) כתוב פונקציה רקורסיבית RecursiveMult שמבצעת כפל באמצעות חיבור. רמז: יש צורך בפונקציה נוספת Mult, שתקרא ל RecursiveMult.
תשובה

2) יש לחשב חישוב עצרת חלקי שבו מכפילים כל איבר שני, לדוגמא עבור הקלט 5, יש להחזיר 1*3*5=15. האם הפונקציה הבאה נכונה:

Procedure SemiFactor(n)
  If n=1 return 1;
  Else
    X = semiFactor(n-2);
    Return (n*x);
  End;
End;

תשובה

3) יש ליצור רשימה באורך N. האם הפונקציה הבאה תעשה את העבודה:

Item{int val, Item *next}

Procedure CreateList(n)
  If n=1 
    Item itm = CreateItem();
    Return itm;
  Else
    Item itm = CreateItem();
    X = CreateList (n-1);
    Itm.next = X;
    Return (itm);
  End;
End;

תשובה