Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Studies

תרגילים

תרגיל

מספר חיובי כלשהו יקרא סודי באופן מלא אם כל התנאים הבאים מתקיימים עבורו:

  1. הוא מתחלק בסכום כל ספרותיו.
  2. מספר המחלקים שלו זוגי.
  3. הספרה הראשונה שלו קטנה מהספרה האחרונה שלו.
  4. הסכום של הספרות הזוגיות שלו גדול מהסכום של הספרות האי-זוגיות שלו.

מספר יקרא \(x/4\) סודי אם מתקיימים עבורו \(x\) מבין ארבעת התנאים הללו.

כתבו תוכנית שמדפיסה את כל המספרים בין 0 למיליון ואת רמת הסודיות שלהם. כתבו פונקציה נפרדת לכל אחד מהתנאים.

תרגיל

בהנתן מספר חיובי כלשהו \(n > 0\), נגדיר את סדרת קולץ (Collatz Sequence) שלו כסדרה רקורסיבית המוגדרת ע״י:

$$ n_{i + 1} = \frac{n_i}{2} \text{ if } n_i \text{ is even} $$

$$ n_{i + 1} = 3 \cdot n + 1 \text{ if } n_i \text{ is odd} $$

הסדרה נעצרת כאשר \(n_i = 1\).

כתבו תוכנית שמוצאת עבור כל מספר בין 0 ל-1000 את אורך סדרת קולץ שלו ואת המספר המקסימלי בסדרת קולץ שלו.

תרגיל

כתבו תוכנית לסימולציה של קרב יריות בין שני קאובויים. לכל קאובוי יש אקדח עם מקום ל-3 כדורים שמתחיל לא טעון. בכל שלב קראו מספר מכל קאובוי, שמשמעותו בחירת פעולה:

  1. 0 - טעינה:

    1. אם לקאובוי יש פחות מ-3 כדורים באקדח, היא מעלה את מספר הכדורים ב-1.
    2. אם לקאובוי יש בדיוק 3 כדורים, היא לא עושה כלום.
  2. 1 - התקפה:

    1. אם לקאובוי אין כדורים באקדח, היא לא עושה כלום.
    2. אם לקאובוי יש לפחות כדור אחד, היא תוקפת ומורידה את כמות הכדורים ב-1.
    3. אם תקפנו בזמן שהקאובוי השני לא הגן, הפעולה מורידה חיים מהקאובוי השני.
  3. 2 - הגנה:

    1. אם הקאובוי השני לא תקף באותו תור, הפעולה לא עושה כלום.
    2. אם הקאובוי השני תקף באותו התור, הפעולה מגנה מההתקפה שלו.

לכל קאובוי יש 3 חיים. כתבו תוכנית שמסמלצת את הקרב ביניהם ומדפיסה מי ניצח.