שני מספרים שלמים וחיוביים num1 ו-num2 נקראים "מצטלבים" (crossed) אם יש להם בדיוק מחלק משותף אחד (פרט ל-1).
לדוגמה: המספרים 14 ו-21 הם מצטלבים כי יש להם מחלק משותף אחד בלבד (7). המספרים 3 ו-27 הם מצטלבים כי יש להם מחלק משותף אחד בלבד (3). המספרים 8 ו-9 אינם מצטלבים, כי אין להם שום מחלק משותף. המספרים 12 ו-36 אינם מצטלבים כי יש להם יותר ממחלק משותף אחד (2, 3, 6, 12).
סעיף א
כתבו פעולה המקבלת שני מספרים שלמים חיוביים. הפעולה תבדוק אם הם "מצטלבים". אם כן, הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false. כותרת הפעולה:
public static boolean crossed(int num1, int num2)
סעיף ב
כתבו פעולה crossedStacks המקבלת שתי מחסניות של מספרים שלמים חיוביים st1 ו-st2. הפעולה תבדוק שלכל איבר במחסנית st1 יש איבר מצטלב במחסנית st2. אם כן, הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false.
סעיף ג
מהי הסיבוכיות של הפעולות שכתבתם בסעיפים א' ו-ב'? הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.