freeCodeCamp/guide/arabic/algorithms/greatest-common-divisor-euc.../index.md

73 lines
3.1 KiB
Markdown

---
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` بالطريقة نفسها.