- הגשות
- פתרונות
- פתרון רשמי
- תיאור
בשפה זו נתייחס לביטויים שמכילים סוגריים ימניים ושמאליים בלבד. סוגר שמאלי הוא התו (
וסוגר ימני הוא התו )
. זוג סוגריים מכיל סוגר שמאלי אחד וסוגר ימני אחד.
נגדיר ביטוי המכיל סוגריים כחוקי (valid
), אם מספר הסוגריים השמאליים שווה למספר הסוגריים הימניים, ובכל רישא (התחלה) של הביטוי, מספר הסוגריים הימניים שלו אינו גדול ממספר הסוגריים השמאליים שלו. (רישא - חלק של ביטוי שמופיע ברצף מתחילת הביטוי ועד למקום כלשהו בביטוי).
עליכם לכתוב שיטה סטטית רקורסיבית שמקבלת מספר שלם חיובי n
, ומדפיסה את כל הביטויים החוקיים המכילים n
זוגות סוגריים ומחזירה את מספרם.
חתימת השיטה היא:
public static int countPairs (int n)
לדוגמה, בהינתן n = 3
, השיטה צריכה להדפיס את כל הביטויים החוקיים הכתובים להלן:
((()))
(()())
(())()
()(())
()()()
ואז על השיטה להחזיר את הערך 5.
לסיכום: השיטה צריכה להדפיס את הביטויים החוקיים שבהם יש n
זוגות סוגריים ולהחזיר את מספרם.