Professional Documents
Culture Documents
תרגיל רקורסיה
תרגיל רקורסיה
שאלה :1
עליך לממש שיטה בשם factorialהמקבלת מספר שלם ומחזירה את העצרת של מספר זה.
עצרת היא מכפלת כל המספרים הטבעיים מ 1ועד למספר נתון.
למשל 4" ,עצרת" היא המכפלה:
1 X 2 X 3 X 4 = 24
לציון עצרת של המספר nמשתמשים בסימן "!" .כלומר:
n! = 1 X 2 X … X n
קח בחשבון כי:
0! = 1
שאלה :2
עליך לממש שיטה בשם sumהמקבלת מערך של מספרים שלמים וגודלו ומחזירה את סכום
האיברים במערך.
שאלה :3
כתבו שיטה רקורסיבית סטטית בשם .findNumהשיטה תקבל כפרמטרים מערך של מספרים
שלמים ,arrגודלו , nמספר שלם numומספר שלם . kהשיטה תחזיר אמת אם המספר num
מופיע בדיוק kפעמים במערך , arrאחרת השיטה תחזיר שקר.
לדוגמה:
{ )public static boolean findNum(int[] arr, int n, int num, int k
}
; } int[] a = { 3 , 2 , 7 , 2 , 3 , 1 , 3 , 2
{
שאלה :4
עליכם לכתוב שיטה רקורסיבית וסטטית בשם .howManyהשיטה תקבל כפרמטרים מערך של
מספרים ממשיים מסוג doubleוגודל של מערך זה ותענה על השאלה הבאה" :כמה איברים במערך
מהווים סכום של שני האיברים שלפניהם?" .חתימת השיטה היאhowMany(double[] A, int n) :
לדוגמא: