--- title: Greatest Common Divisor Euclidean localeTitle: أعظم القاسم المشترك Euclidean --- ## أعظم القاسم المشترك Euclidean لهذا الموضوع يجب أن تعرف عن القاسم المشترك الأكبر (GCD) وعملية MOD أولاً. #### أعظم القاسم المشترك (GCD) يعد GCD من عددين أو أكثر هو العدد الصحيح الأكبر الذي يقسم كل من الأعداد الصحيحة بحيث يكون الباقي صفرًا. مثال- GCD of 20، 30 = 10 _(10 is the أكبر رقم يقسم 20 و 30 والباقي على 0)_ GCD من 42 و 120 و 285 = 3 _(3 هو أكبر عدد يقسم 42 و 120 و 285 مع الباقي مثل 0)_ #### عملية "mod" يعطيك عملية التعديل الباقي عندما يتم تقسيم عدد صحيح موجب. نكتبها على النحو التالي `A mod B = R` وهذا يعني أن قسمة A إلى B تعطيك الباقي R ، وهذا يختلف عن عملية القسمة التي تعطيك القسمة. مثال- 7 mod 2 = 1 _(يُقسم القسمان 7 في 2 الباقي 1)_ 42 mod 7 = 0 _(يعطي التقسيم 42 في 7 الباقي 0)_ مع المفهومين أعلاه المفهوم سوف تفهم بسهولة خوارزمية الإقليدية. ### خوارزمية الإقليدية لأعظم مقام مشترك (GCD) وجدت الخوارزمية الإقليدية GCD من رقمين. ستفهم هذه الخوارزمية بشكل أفضل من خلال رؤيتها أثناء العمل. على افتراض أنك تريد حساب GCD من 1220 و 516 ، يتيح تطبيق الخوارزمية الإقليدية ، على افتراض أنك تريد حساب GCD من 1220 و 516 ، يتيح تطبيق الخوارزمية الإقليدية ، ![مثال إقليدي](https://i.imgur.com/aa8oGgP.png) الكود الزائف للخوارزمية الخطوة 1: **دع `a, b` يكون الرقمان** الخطوة 2: **`a mod b = R`** الخطوة 3: **دع `a = b` و `b = R`** الخطوة 4: **كرر الخطوتين 2 و 3 حتى `a mod b` أكبر من 0** الخطوة 5: **GCD = ب** الخطوة 6: الانتهاء شفرة جافا سكريبت لتنفيذ GCD- `function gcd(a, b) { var R; while ((a % b) > 0) { R = a % b; a = b; b = R; } return b; } ` شفرة جافا سكريبت لتنفيذ GCD باستخدام Recursion- `function gcd(a, b) { if (b == 0) return a; else return gcd(b, (a % b)); } ` يمكنك أيضًا استخدام خوارزمية Euclidean للعثور على GCD لأكثر من رقمين. نظرًا لأن GCD هي علاقة ارتباطية ، فإن العملية التالية صالحة - `GCD(a,b,c) == GCD(GCD(a,b), c)` احسب GCD من أول رقمين ، ثم ابحث عن GCD للنتيجة والعدد التالي. مثال: `GCD(203,91,77) == GCD(GCD(203,91),77) == GCD(7, 77) == 7` يمكنك العثور على GCD للأرقام `n` بالطريقة نفسها.