נתונות הפעולות הרקורסיביות what ו-secret הבאות:
נתונות הפעולות הרקורסיביות what ו-secret הבאות:
```java
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?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.