אתם מתרגלים שאלה מתוך מה"ט אלגוריתמיקה ותכנות — הנדסאי תוכנהמבחן 2024 · קיץ מועד ב · שאלה 14כל שאלות המבחן ←
אלגוריתמים בסיסייםרקורסיה

נתונה הפעולה הבאה המקבלת מספר שלם גדול מ-0:

public static int secret(int n)
{
    return secret(n, 1);
}
private static int secret(int n, int i)
{
    if(i == n)
        return 1;
    if(n % i == 0) return 1 + secret(n, i + 1);
    return secret(n, i+1);
}

public static int sod(int[] arr)
{
    return sod(arr, 0, arr.length-1);
}
private static int sod(int[] arr, int i, int j)
{
    if(i == j) return arr[i];
    if(secret(arr[i]) < secret(arr[j]))
        j--;
    else
        i++;
    return sod(arr, i, j);
}
סעיף א

עקבו אחרי הזימונים הבאים של הפעולה secret ורשמו מה תהיה התוצאה של כל זימון:

  1. secret(12)
  2. secret(7)
  3. secret(15)
סעיף ב

מה מבצעת הפעולה secret(int n) עבור מספר שלם גדול מ-0?

סעיף ג

עקבו אחרי זימון הפעולה sod(arr) עבור מערך הבא: int[] arr = {4,6,12,17,24,15,10}; ורשמו מה תהיה התוצאה של הזימון. יש להראות מעקב!

סעיף ד

מה מבצעת הפעולה sod עבור מערך של מספרים שלמים גדולים מ-0?

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי