התגובות שלי בפורום
-
מאתתגובות
-
TheWizardמשתתף
כותרת: ל´סתם מישהו´
אם המספר נמצא במקום האחרון או הלפני-אחרון, אז לוקחים את שני המספרים הראשוניםכשאני חושב על זה עכשיו, נראה לי שאולי השיטה שלי לא תעבוד בכמה מקרים מסוימים… אוי לא!
TheWizardמשתתףכותרת: הפתרון שלי
קודם כל – לספור סיביות כלומר לבדוק כמה סיביות דלוקות בייצוג הבינארי של המספר
למשל במספר שייצוגו הבינארי הוא 10110010 יש 4 סיביות דלוקותכעת לצורה בה פתרתי את השאלה השלישית
אמנם אני קורא לפונקציה ADD הרבה יותר פעמים מאשר אפשר לעשות, אבל התכנית עצמה פשוטה ביותר
עוברים בלולאה על כל המספרים
עבור כל מספר במערך עושים את הדברים הבאים (אשר תמיד מביאים לאיפוס המספר הנוכחי) :
1. אם הוא אי-זוגי, מוסיפים לו ולמספר הבא 1
2. מוסיפים חצי מהמספר הנוכחי לשני המספרים הבאים
3. מחסירים חצי מהמספר הנוכחי מהמספר עצמו ומשני המספרים הבאים (הנוכחי והבא, ואז הנוכחי והשני הבא)
וזהוTheWizardמשתתףכותרת: הפתרון שלי
קודם כל – לספור סיביות כלומר לבדוק כמה סיביות דלוקות בייצוג הבינארי של המספר
למשל במספר שייצוגו הבינארי הוא 10110010 יש 4 סיביות דלוקותכעת לצורה בה פתרתי את השאלה השלישית
אמנם אני קורא לפונקציה ADD הרבה יותר פעמים מאשר אפשר לעשות, אבל התכנית עצמה פשוטה ביותר
עוברים בלולאה על כל המספרים
עבור כל מספר במערך עושים את הדברים הבאים (אשר תמיד מביאים לאיפוס המספר הנוכחי) :
1. אם הוא אי-זוגי, מוסיפים לו ולמספר הבא 1
2. מוסיפים חצי מהמספר הנוכחי לשני המספרים הבאים
3. מחסירים חצי מהמספר הנוכחי מהמספר עצמו ומשני המספרים הבאים (הנוכחי והבא, ואז הנוכחי והשני הבא)
וזהוTheWizardמשתתףכותרת: נו וגם אני הייתי…
שתי השאלות הראשונות היו מאוד קלות.
בשאלה השנייה פשוט מכפילים את המספר פי 3, סופרים כמה סיביות יש, ואז אם זה בדיוק שלוש אז זה מתאים. אם יש משהו עוד יותר פשוט, אשמח לשמוע!הקטע זה השאלה השלישית. הצלחתי לפתור אותה, אבל בצורה ממש לא אפקטיבית…
TheWizardמשתתףכותרת: תשובות מנסיון
יש דברים שלא ניתן לענות עליהם ללא אינטרנט (למשל אף אחד לא אמור לדעת בע"פ כמה עמודים יש בהגדרה של פרוטוקול האינטרנט, אלא צריך לדעת בדיוק איך, מה ואיפה לחפש), ויש דברים שלא ניתן לענות עליהם ללא מהדר. לכן יש אינטרנט, יש מהדר (קומפיילר), אפשר להוריד ולהתקין דברים, אפשר להשתמש במחשבון, אפשר לכתוב טיוטה וכו´.
אבל אם לא יודעים איך לחפש באינטרנט, או לא יודעים איך להדר ומה לבדוק בפלט, או לא יודעים מה להוריד — אז כל זה לא יעזור – כי יש 90 דקות ל-80 שאלות.TheWizardמשתתףכותרת: דניאל צודק…
למרות שפסקל יותר טובה לאלגוריתמים מאשר סי (את זה אני אומר, לא דניאל), כדאי לקרוא את הספר "C++ כשפת אם". כמו כן, להסתמך רק על מה שלומדים בביה"ס במחשבים ותכנות זה לא רמה לתחרות הזאת.TheWizardמשתתףכותרת: ומתי פרטים מדוייקים יותר?
מה יהיה, מה מקבלים מקומות 4-10, באיזה שעה בדיוק וכו´TheWizardמשתתףכותרת: הפתרון נכון, ויש אותו באסמבלי בהודעה קודמת
ראה אשכול "מישהו פתר את השאלה האחרונה?" בעמוד 9TheWizardמשתתףכותרת: קיבלת 65 והממוצא הוא 71.25
את הציון לפי המספר ניתן לראות כאן:
http://www.codeguru.co.il/forum/ShowMessage.asp?id=533&Fnumber=1&SunId=518והממוצא הוא 71.25 כי יש 51 אנשים ולא 61 (המספרים מתחילים מ-10)
אם היו 61, אז הוא באמת היה ~59נראה לי שזה עונה לך על השאלות…
TheWizardמשתתףכותרת: למה המספרים (ID) מתחילים מ-10??
ודרך אגב, לאלה שחישבו את הממוצע, אם המספרים הם מ-10 עד 61, אז צריך לחלק ב-51…TheWizardמשתתףכותרת: יופי, אבל אפשר בבקשה ציונים לפי המספרים?
לא סתם רשימה, אלא מי קיבל מהTheWizardמשתתףכותרת: אפשר לפתוח ICQ Group למשתתפי CodeGuru…
TheWizardמשתתףכותרת: רעיון נחמד בהחלט!
TheWizardמשתתףכותרת: ל-´מישהו פלוני אלמוני´
> כפי שציינת, פסקל היא שפה מיושנת שמעטים מאוד משתמשים בה.
יש את דלפי ובה דווקא משתמשים המון אנשים!> לימוד הפסקל נעשה בבתי ספר פחות מתקדמים בתור מבוא לתכנות.
מה שמקבל את כל הידע שלו בתכנות מבית הספר הוא לא מתכנת אמיתי!> התחרות הייתה תחרות לעידוד מצוינות, ולפי המצב כיום ידיעת סי היא מצוינות.
מצוינות זה לא לדעת סי בלבד, אך זה באמת לדעת בין השאר סי וגם שפות אחרות. חבל באמת שלא היו שאלות גם ב-PERL…TheWizardמשתתףכותרת: אתה לא יודע אפילו קצת C?
גם אני מתכנת כל הזמן בפסקל (ודלפי!) אבל אני כן יודע סי (אף פעם לא מזיק לדעת עוד שפה) ולכן יכלתי באמת לעשות תכנית שפותרת את שאלה 69 בסי כשלא היה פסקל.
בקיצור – זה לא מפריע אחד לשני… -
מאתתגובות