יש לך סטרים שכל הזמן מקבל ספרות 1/0 עד אינסוף, ובכל רגע אתה צריך לדעת אם המספר מתחלק ב-3 או לא ?
תשובות
הוסף תשובה
|
לצפיה בתשובות
ינואר 2017
בודק אם מספר ה'1' הינו זוגי.
ינואר 2017
יש צורך לכתוב דיאגרמת מצבים עבור כל אפשרות של ביט שמגיע, מספר המצבים יהיה כמספר השאריות בחלוקה למספר המבוקש, אצלנו כל מספר שנחלק ב 3 יתן את השאריות 0,1 או 2 ולכן יהיו לנו 3 מצבים בדיאגרמה.
נקרא ל3 המצבים מ0,מ1 ומ2.
נתחיל ממ0, מצב זה מייצג מספר שאם נחלק אותו ב 3 נקבל שארית 0, כלומר מתחלק ב 3, במידה והביט הבא שיגיע יהיה 0 (הכפלת המספר ב 2) המצב הבא שלנו ישאר מ0 מכיוון שכל מספר שמתחלק ב 3 ומוכפל ב 2 עדיין מתחלק ב 3, במידה והביט הבא שיגיע יהיה 1 (הכפלת המספר ב 2 והוספה של 1) המצב הבא שלנו יהיה מ1 מכיוון הכפלת מספר שמתחלק ב 3 ב 2 והוספה של 1 יתן לנו (בעת החלוקה ב 3) שארית 1.
מכאן ממשיכים את כל המצבים של מ1 ומ2
לבסוף ניתן לתרגם לקוד פשוט בהנתן המצב הקודם והביט הנוכחי.
מאי 2019
התשובה הראשונה לא נכונה, למשל 10 בבינארי זה 1010 והוא לא מתחלק בשלוש
יוני 2021
נכתוב את המספר בצורה בינארית ונמספר מימין החל מהספרה 1, נספור את המקומות הזוגיים שבהם יש ספרה 1, נספור את המקומות האי-זוגיים שבהם יש ספרה 1, נחסר אחד מהשני בערך מוחלט, במידה והתוצאה מתחלקת ב3 אזי המספר מתחלק ב3