נתונות הפעולות הרקורסיביות what ו-secret הבאות:
נתונות הפעולות הרקורסיביות what ו-secret הבאות:
```csharp
public static int What(int num)
{
return What(num,1);
}
private static int What(int num, int c)
{
int a;
if(num < 10) return c;
if(num%10 ==num/10%10)
a = What(num/10, c+1);
else
a = What(num/10, 1);
return Math.Max(a, c);
}
public static int Secret(int[] arr)
{
return Secret(arr, 0, arr.Length-1);
}
private static int Secret(int[] arr, int left, int right)
{
if(left == right) return arr[left];
if(What(arr[left]) < What(arr[right]))
return Secret(arr, left +1, right);
return Secret(arr, left, right -1);
}
סעיף א
עקבו אחרי זימון what(5777922) ורשמו את תוצאת הזימון. יש להראות מעקב!
סעיף ב
מה מבצעת הפעולה what(num) עבור מספר שלם חיובי num?
סעיף ג
עקבו אחרי זימון secret(arr) עבור המערך:
int[] arr = {777922, 111, 623, 221333, 10000, 22133, 211, 1001, 99790};
ורשמו את תוצאת הזימון. יש להראות מעקב אחרי הפעולה secret, אין צורך במעקב אחרי הפעולה what.
סעיף ד
האם קיים מערך של מספרים שלמים חיוביים arr בגודל חמישה תאים לפחות, שעבורו זימון הפעולה secret(arr) יחזיר 123? הסבירו את תשובתכם.
סעיף ה
מה מבצעת הפעולה secret(arr) עבור מערך מספרים שלמים וחיוביים arr?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.