נתונה פעולה רקורסיבית secret המקבלת שני מספרים שלמים אי-שליליים, ולאחר מכן פעולה רקורסיבית bigSecret המקבלת מערך מספרים שלמים אי-שליליים ומחזירה מערך חדש, בעזרת פעולת עזר רקורסיבית mystery.
נתונה פעולה רקורסיבית secret המקבלת שני מספרים שלמים אי-שליליים, ולאחר מכן פעולה רקורסיבית bigSecret המקבלת מערך מספרים שלמים אי-שליליים ומחזירה מערך חדש, בעזרת פעולת עזר רקורסיבית mystery.
public static boolean secret (int n1, int n2)
{
if (n1 < 10)
return (n1 == n2);
if (n1%10 == n2)
return true;
return secret (n1 / 10, n2);
}
public static int[] bigSecret (int[] arr)
{
int[] temp=new int [arr.length];
mystery(arr, temp, 0, 0, temp.length-1);
return temp;
}
private static void mystery (int[] arr, int[] temp, int k, int low, int high)
{
if (k < arr.length)
{
if (secret (arr[k] / 10, arr[k] % 10))
{
temp[high] = arr[k];
mystery (arr, temp, k+1, low, high-1);
}
else
{
temp[low] = arr[k];
mystery (arr, temp, k+1, low+1, high);
}
}
}
סעיף א-1
עקוב אחר הזימון הבא: secret(528, 5).
סעיף א-2
מה מבצעת הפעולה secret?
סעיף ב-1
נתון מערך חד-ממדי arr={424, 57547, 130, 57675, 12}. עקוב אחר ביצוע הפעולה bigSecret(arr) ורשום את הערך המוחזר. הערה: אין צורך להראות מעקב אחר הפעולה secret.
סעיף ב-2
מה מבצעת הפעולה bigSecret?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.