יש לך 2 רשימות חד כיווניות, בנה פונק׳ שמחזירה את הsufix המשותף הגדול ביותר.
תשובות
הוסף תשובה
|
לצפיה בתשובות
דצמבר 2016
בודקים את גודל הרשימות ומקצצים את ההפרש בינהם מתחילת הרשימה הארוכה יותר.
בוחרים את תחילת הרשימות לsufix הגדול ביותר ומשווים בין בתאים אם הם שווים ממשיכים עד סוף הרשימה אחר מתחילים את הsufix מהתא הבא וכך אלה.
ספטמבר 2017
תחילה נבדוק אם מי מהרשימות קטנה יותר, לאחר מכן נבצע reverse לכל אחת מהן, וה-suffix הגדול ביותר האפשרי הוא כל הרשימה הקצרה, לכן נשים פוינטר על התחלת הרשימות החדשות לאחר שהפכנו אותן, אם הערכים שווים אז נקצה רשימה מקושרת חדשה ונכניס את האיבר להיות הראשון ברשימה, אחרת נקדם את הפוינטר של הרשימה הארוכה באחד ונבדוק האם הוא שווה לאיבר הראשון ברשימה הקצרה וכך הלאה (אם עברנו על כל האיברים ברשימה הארוכה אז נחזיר שלא קיים איבר כזה). לאחר מכן, אם היה איבר משותף, אז נקדם את שני הפוינטרים ונבדוק אם האיבר הבא שווה. אם כן, נוסיף אותו לסוף הרשימה המקושרת וכך הלאה.בסוף נקרא לפונקציה שעושה reverse שתקבל את הרשימה המקושרת החדשה ותחזיר את הרשימה המקושרת ההפוכה, אותה נחזיר לפונקציה שלנו.
ברשותך מכונה שפולטת באקראי בכל פעם מספר בין 0 ל 3,
עליך ליצור מהמכונה הקיימת מכונה שתפלוט מספרים באקראי מ 0 עד 7
תשובות
הוסף תשובה
|
לצפיה בתשובות
דצמבר 2016
שימוש בשתי מכונות ויצירת מטריצה כאשר בכל תא מספר בין 0 ל 7
דצמבר 2016
לא ברור אם מדובר בintים או floatים, אבל לא יותר פשוט לכפול את ,תוצאת המכונה הראשונה ב - 7/3? במקרה ומדובר ב-int לעשות casting.
דצמבר 2016
קודם כל נשתמש במכונה להגריל מספר מ 0 עד 3, וניקח את שארית חלוקת התוצאה בשתיים. כך נקבל אקראית או 0 או 1.
אם קיבלנו 0, נריץ שוב את המכונה המקורית, ונקבל מספר בטווח
0 עד 3.
אם קיבלנו 0, נריץ שוב את המכונה המקורית, ונוסיף לתוצאה 4.
כך נקבל מספר בטווח 4 עד 7.
למשתמש החיצוני האפקט הוא בדיוק מכונה שמחזירה מספר אקראי
בטווח 0-7 כדרוש.
ינואר 2017
הפתרון הנל מתבסס על כך שעבור כל הרצה של המכונה 0-3 נרצה להוציא פלט 0-7.
ניתן לראות כי ב 0-3 ישנם 4 מצבים (0,1,2,3) וב 0-7 ישנם 8 מצבים (0,1,2,3,4,5,6,7), כעת נרצה לחלק את מצבים 0-7 ל 4 מצבים (0 ו1, 2 ו3, 4 ו5, 6 ו7), כעת יש לנו קורלציה בין המספר שמוציאה מכונת 0-3 למצבים החדשים של 0-7, כלומר אם יצא לנו 0 נוציא את 0 או 1, אם יצא לנו 2 נוציא את 4 או 5, בכדי להחליט איזה מהספרות להדפיס נוכל למשל לשמור את המספר הקודם שיצא ב 0-3 אם יצא מספר זוגי נדפיס את הזוגי אחרת נדפיס את האי זוגי.
דוגמה: נניח שבהדפסה הראשונה יצא 1, כעת אנו צריכים להדפיס 2 או 3, נחליט שרירותית כי בפעם הראשונה נדפיס את המספר הזוגי ונדפיס את 2, באיטרציה הבאה יצא 3 כעת אנו צריכים להדפיס את 6 או 7, נראה כי בפעם הקודמת יצא לנו 1 שהוא אי זוגי ולכן נדפיס את 7 וכן הלאה
אינטל הוא תאגיד בינלאומי אמריקאי, אשר ידוע בעיקר כמתכנן ויצרן של מיקרו־מעבדים (החל משנת 1971) ומתמחה במעגלים משולבים. כמו כן, אינטל מייצרת כרטיסי רשת, מערכות שבבים ללוחות אם, והתקנים אחרים.