נתונה פעולה רקורסיבית secret המקבלת שני מספרים שלמים אי-שליליים, ולאחר מכן פעולה רקורסיבית bigSecret המקבלת מערך מספרים שלמים אי-שליליים ומחזירה מערך חדש, בעזרת פעולת עזר רקורסיבית mystery.
נתונה פעולה רקורסיבית secret המקבלת שני מספרים שלמים אי-שליליים, ולאחר מכן פעולה רקורסיבית bigSecret המקבלת מערך מספרים שלמים אי-שליליים ומחזירה מערך חדש, בעזרת פעולת עזר רקורסיבית mystery.
public static bool 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?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.