|
||||
|
||||
חשבתי שיש לך קוד רץ, לא? ב5 דקות, לאן הגעת? אולי שווה לחשב את היחס: זמן ריצה פר ראשוני. |
|
||||
|
||||
הקוד שכתבתי פועל בשני שלבים: קודם מחשב את כל המערך, ורק אחר כך עובר עליו ומוצא את המספרים המתאימים. אני לא הדפסתי מונה רץ שאומר לאן כבר הגעתי כי זה מאט את הריצה (שהפסקתי בינתיים). |
|
||||
|
||||
בדיקה קצרה ב-pc די רגיל נתנה לי ב-102 שניות את כל הזוגות עד 100,000,000 (הזוג האחרון הוא 99,899,792 ו 93,837,808 סה"כ 467 זוגות אבל לא הורדתי כפילויות ולא הורדתי מספרים שהם הזוג של עצמם). |
|
||||
|
||||
איזו שפה ואיזה קומפיילר? |
|
||||
|
||||
שפת c++ (בעצם, לא ממש השתמשתתי ב++). הקומפיילר של מיקרוסופט. אגב, כשאני מסנן את הזוגות הכפולים ואת אלה שהם הזוג של עצמם, אני מקבל 231 זוגות, כשהאחרון הוא 97,041,735 ו-97,945,785. זה גם מוריד את הזמן ב-2 שניות. |
|
||||
|
||||
6 28 496 8,128 33,550,336 |
|
||||
|
||||
כל מספר הוא ידיד של עצמו ולכן צריך לסנן את התשובות האלה. |
|
||||
|
||||
מספרים מושלמים, כמו 6 (מספרים שסכום המחלקים שלהם שווה לעצמם). |
|
||||
|
||||
טוב, אני בספק אם הבעיה היא בקומפיילר (גם אני ב-++C). עד 10,000,000 הוא דווקא עושה את זה די מהר. כנראה שב-100,000,000 אני כבר מתחיל להרגיש את ההשפעה של הזכרון הוירטואלי. |
חזרה לעמוד הראשי | המאמר המלא |
מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים | |
RSS מאמרים | כתבו למערכת | אודות האתר | טרם התעדכנת | ארכיון | חיפוש | עזרה | תנאי שימוש | © כל הזכויות שמורות |