אלגוריתם אוקלידס – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
TomerDayan (שיחה | תרומות)
מ שימוש במונחים נכונים: הפרש וחיסור במקום שארית וחלוקה
תגיות: עריכה חזותית עריכה ממכשיר נייד עריכה דרך האתר הנייד
TomerDayan (שיחה | תרומות)
מ ניסוח
שורה 16:
האלגוריתם מבוסס על העיקרון הבא: הוספת כפולה של אחד המספרים למספר השני, אינה משנה את המחלק המשותף הגדול ביותר. בניסוח מתמטי, אם b,c ו-q מספרים טבעיים אז מתקיים: <math>\ (b,c+qb) = (b,c)</math>.
 
בתכונה זו ניתן להשתמש בכיוון ההפוך - במקום להגדיל את אחד המספרים, מקטינים אותו: לכל זוג מספרים a,b, כאשר a הוא הגדול בין השניים, ניתן לחשב את ההפרשה[[שארית (חילוק)|שארית]] c מחיסורמחלוקת a ב-b, כך ש-<math>a=c+qb, c<b</math>. מכאן מתקבל השוויון <math>\ (a,b) = (b,c)</math>, שבו הוחלף המספר הגדול a במספר c קטן יותר משני המספרים המקוריים, בלי לשנות את המחלק המשותף. אפשר להמשיך בתהליך שוב ושוב עם מספרים קטנים יותר ויותר, עד שמגיעים לזוג שאחד המספרים בו הוא 0; <math>(a,0)=a</math>, ולפיכך נמצא המחלק המשותף הגדול ביותר.
 
באופן [[רקורסיה|רקורסיבי]] ניתן להגדיר את האלגוריתם בצורה הבאה:
לחישוב <math>(a,b)</math> {{כ}}(כאשר a>b), אם b הוא 0, התוצאה היא a. אחרת, מצאמחלק את השארית c מהפרש a ב-b ומצא את השארית c; התוצאה היא <math>(b,c)</math> (שאותה יש לחשב בעזרת אותו אלגוריתם עצמו).
 
באופן כללי, ניתן להשתמש באלגוריתם בכל [[חוג אוקלידי]]. כך לדוגמה ניתן להשתמש באלגוריתם כדי למצוא את המחלק המשותף המקסימלי של שני [[פולינום|פולינומים]] מעל [[שדה (מבנה אלגברי)|שדה]].