בתשובה לאביב י., 21/08/03 3:35
מתימטיקה טרחנית 164931
שתי דקות בדיוק?
רק לכתוב פונקציה שמפרקת מספר נתון לגורמיו הראשוניים, יקח לי יותר (בהנחה שמדובר באיזו שפה עילית ולא בתוכנה כמו מתמטיקה או מאטלב).
מתימטיקה טרחנית 164936
אכן שתי דקות.

זה לקח שתי דקות בפתרון הטריוויאלי והמאוד לא יעיל מבחינת זמן חישוב (סיבוכיות גבוהה מדי), אם כי זה עובד (פשוט רצים ורצים על מספרים עם מודולו. אם השארית 0 אז מצאנו מחלק שצריך לסכום). חשבתי גם על כמה פיתרונות ליעול משמעותי למדי, כך שזה יעבוד עד 100,000,000 בתנאי הזמן שעוזי נתן בשאלה (אם כי עוד לא ניסיתי אותם).

לא הבנתי בשביל מה צריך לכתוב פונקציה שמפרקת מספר נתון לגורמיו הראשוניים. בשאלה לא דובר על מחלקים ראשוניים אלא על מחלקים. למשל, 50 הוא מחלק של מאה והוא לא ראשוני.

ההגדרה של מחלק היא: y מחלק את x אם ורק אם x%y=0. במילים אחרות: y מחלק את x אם התוצאה היא מספר שלם.

למשל, מספר ידידים של 284 הם 204, 220, 224 ו- 246.
מתימטיקה טרחנית 164945
אם הבנתי נכון, מספרים מיודדים רק אם כל אחד מהם שווה לסכום מחלקי השני. לכן לא יכול להיות יותר מידיד אחד לכל מספר.
מתימטיקה טרחנית 164951
מהתגובה של עוזי: "אלו מספרים כמו 220 ו- 284, שסכום המחלקים של כל אחד מהם שווה לשני"

עפ"י הדוגמא של עוזי, אני חושב שאני הבנתי נכון את הכוונה. הכוונה חייבת להיות שהסכומים שווים אחד לשני ולא שסכום מחלקיו של האחד שווה לערך של המספר השני (אחרת, איך תסביר את הדוגמא של עוזי של 220 ו-‏284?).

סכום המחלקים של 220 הוא 504.
סכום המחלקים של 284 הוא 504.
אבל גם סכום המחלקים של 204 הוא 504.
סכום המחלקים של 504 הוא בכלל 1560.

___________
נ.ב.

"רק לכתוב פונקציה שמפרקת מספר נתון לגורמיו הראשוניים, יקח לי יותר"

בפיתרון טריוויאלי ולא יעיל, זה בדיוק שתי שורות קוד.
מתימטיקה טרחנית 164957
סכום המחלקים שאינם המספר עצמו.
proper divisors ולא divisors 164962
צ'יצ'ינג. עכשיו זה ברור. איך אומרים proper divisors בעברית?

אז מדברים בעצם על הצמדים האלה:
284 <==> 220
1210 <==> 1184
2924 <==> 2620

נכון?
proper divisors ולא divisors 164972
בד"כ מתרגמים "proper" ל"ממש", אם כי במילון המונחים המתמטיים של האקדמיה‏1 המונח proper divisor אינו מופיע.

זו ההזדמנות להזכיר שמישהו מהמגיבים כאן כתב "מציין" בהוראת characteristic של שדה, והמונח התקני הוא "אפיין" (המילה characteristic מתורגמת ל"מציין" כאשר מדובר ב-characteristic של לוגריתם.

1 להתחיל מכאן: http://hebrew-terms.huji.ac.il/milonimsearch1.asp
מתימטיקה טרחנית 164969
יתכן ששמת לב לזה, אבל בעצם אין צורך בשום שלב לבדוק האם מספר אחד מתחלק בשני. עורכים מעין נפה, שבה מסכמים את המחלקים-ממש (על-ידי מעבר על ה*מחלקים* 2,3,4,..., ולא על המספרים הנבדקים).

חזרה לעמוד הראשי המאמר המלא

מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים