היי רציתי להבין את הכוונה במשימה:
" השתמשו בתוכנה שכתבתם כדי לחשב את הסיכויים עבור כיתות שבהן תלמיד אחד, ועד כיתות ישראליות ממוצעות שבהן 366 תלמידים"
כל בדיקה צריך להריץ על 10,000 כיתות מהגודל הזה? (אם כן - אפשר הערכת איכות ביצוע מבחינת כמה זמן זה אמור לקחת - שאדע אם יש / אפשר לשפר ביחס לתוצאה שלי)
ולכל גודל כיתה שונה להוציא פלט שונה?
ombental
מקפיץ
orronai
כן, לא שינו באמצע את הגדרת גודל הכיתה - לגבי מספר כיתות של 10,000.
לגבי הערכת ביצוע - לוקח שנייה בערך למחשב להריץ את זה, הפלט יחסית מהיר
OrelHandler
אני מצליח רק עד 4000 כיתות. מישהו יכול לעזור?
orronai
תבדוק שהקוד שלך יעיל מבחינת מבני נתונים (שאתה לא משתמש יותר מידי ברשימות ארוכות לדוגמא), או קורא לפונקציה קריאות חוזרות כמה פעמים
OrelHandler
כותב פה מה עשיתי…
ספוילר?
עשיתי מילון של מילונים: המילון הראשי הוא כיתות, שהערך שלהן הוא מילונים של תלמידים ותאריכי יום ההולדת שלהם…
ombental
ברגע שאני מגיע לכיתות עם יותר מ30 תלמידים לוקח הרבה יותר משנייה להריץ 10,000 כיתות בגודל הזה
orronai
תחשוב למה שתרצה לשמור כל פעם תאריכי יום הולדת של כיתה שלמה?
orronai
כמו שאמרתי, תעבור על המבנה נתונים שלך - אולי רשימה ארוכה שאין בה צורך, אולי נתונים שאתה שומר שאין באמת צורך גם בהם
OrelHandler
מה זאת אומרת? חייבים לעשות את זה
OrelHandler
עכשיו גם אני נתקעתי עם זה…
orronai
למה שתשמור את כל הערכים של כל הכיתות?
ואם יש מיליון כיתות?
למה שלא תעבור מראש על כל כיתה ואז לא תצטרך לשמור את הנתונים של כל המיליון כיתות
OrelHandler
אהה ברור שאני לא שומר 10000 כיתות, אני יוצר כיתה בודק אם יש בה תאריכים שווים וזורק אותה לפח. ככה 10000 איטרציות. הבעיה שעם כיתות גדולות של 360 תלמידים זה לוקח מלא זמן
orronai
עם איזה מבנה נתונים אתה עובד?
ruty3017
היי,
אני כל פעם שמרתי כיתה ובדקתי אם מתקיים בה הפרדוקס.
אבל גם לי זה באיזשהו שלב שהוא מגיע לכיתות בגודל 300+ הוא מתחיל להיתקע
ובכללי ההדפסה של האחוז עבור כל גודל של כיתה הוא איטי.
אולי זה ספוילר למי שעדיין לא פתר:
יש פה הרבה ריצות, עבור כל גודל כיתה (מ-1 עד 366) אני צריכה להגריל 10000 פעמים כיתות ולחשב את האחוז.
איך זה מדפיס לכם מהר? רק מההנחיות זה נשמע זמן ארוך…