5 תשובות
דוגמה איך האלגוריתם עובד?
שואל השאלה:
תודהה רבה!
אפשר רק דוגמא קטנה?
אנונימית
נגיד שה1 לחודש היה ביום שלישי. החוקיות היא שבהינתן מספר x, נחשב את השארית - מודלו 7 של x-1, ואז:

ואז אם זה 0 להחזיר שלישי
אם זה 1 להחזיר רביעי
אם זה 2 להחזיר חמישי
...
אם זה 6 להחזיר שני

ובאופן כללי במקום להחזיר "שלישי" וכן הלאה, צריך להחזיר את היום שנתנו לך וכן הלאה
כן בטח,

נגיד שאמרנו לנו שה1 לחודש היה יום שלישי.

ושואלים אותנו איזה יום זה ה-4 לחודש.
אז אנחנו נעשה 4-1 שזה 3, ואז מודולו 7 - שזה שארית החלוקה של 3 ב-7. השארית היא 3.

לכן לפי ההנחה שלנו:
אם זה 0 להחזיר שלישי
אם זה 1 להחזיר רביעי
אם זה 2 להחזיר חמישי
אם זה 3 להחזיר שישי
וכן הלאה

רואים שצריך להחזיר "שישי". וזה באמת נכון, כי אם חושבים על זה שנייה מה-1 לחודש עד ה-4 לחודש בסהכ עברו 3 ימים, וזה שישי.

עכשיו דוגמה קצת יותר מעניינית - נגיד שנרצה לחשב איזה יום זה ה-18 לחודש.
אז נחסיר אחד, 18-1=17, ואז נצטרך לחלק ולמצוא מה השארית. אז 17 מודולו 7 זה 3 (כי נכנס פעמיים 7 ואז נשאר עם שארית 3), ולפי ההנחה שלנו (של מה להחזיר) נצטרך להחזיר שוב יום שישי.

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

בעצם כל האלגוריתם הזה בנוי על כך שאנחנו מורידים את המחזוריות, כפולות של 7 - כי אם למשל אנחנו ביום שני, ונוסיף 7, כלומר שבוע, נשאר ביום שני. לכן מה שמעניין זה כמה זזנו "בין 0 ל-6" שזה משהו שהשארית נותנת.
שואל השאלה:
כן אשמח
"דוגמת ריצה" כזאת למשל עם מספר מסוים
אנונימית