הרשם | שאלות ותשובות | רשימת חברים | לוח שנה | הודעות מהיום | חיפוש |
|
|
כלים לאשכול | תצורת הצגה |
06-03-10, 21:56 | # 1 |
אחראי פורום
|
אלגוריתמיקה - מציאת סכום האיברים הנותן תוצאה הכי קרובה למספר?
נניח שיש לי רשימת איברים שהם מספרים:
קוד:
10,40,70 נניח שבדוגמא למעלה אני צריך לקבל את המספר הכי קרוב ל-58, אני אעשה קוד:
70 - 10 הסכום תמיד נמוך מהאיבר הכי גבוה. כמובן שיכול להיות אפילו רק 2 איברים ויכול להיות 10. במידה ויש כמה תוצאות אני מעדיף לקבל את כולם אבל אפשר גם רק אחת. מה שעלה בדעתי זאת שיטה שלוקחת הרבה מאוד משאבים יחסית. נניח שיש 4 מספרים והמטרה היא X, לכל מספר יש 3 מצבים - מופיע בחיבור, מופיע בחיסור, לא מופיע. לא יכול להיות שכל המספרים מופיעים בחיסור כמובן (כי אז יוצאת תוצאה שלילית). לכן יש (4 ^ 3 פחות 4 שזה בעצם 60) אפשרויות ראשוניות (פחות 4 כי יש 4 מצבים שבהם הכל מינוסים. עם איבר 1, עם 2 איברים, עם 3 ועם 4) ואז צריך לעבור אפשרות אפשרות ולחשב. בסופו של דבר זה יוצא כמות דיי גדולה של חישובים, השוואות, ואני צריך להריץ את הדבר הזה כמות גדולה של פעמים במהירות גבוהה. תהיתי אם למישהו יש הצעות לדרך יעילה יותר. מקווה שהבנתם את השאלה. |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|