مرحبا وأهلا بكم،

في الأسبوع الماضي طرحت نشاط صنع خوارزمية، وبعد طرح النشاط بدقائق، اكتشفت أني ارتكبت بعض الأخطاء الجسيمة

https://arabia.io/go/4733

منها، النشاط كان صعبا جدا، كتابة خوارزمية الميراث امر معقد جدا، ويحتاج دقة بالغة وعددا كبيرا من المدخلات، وأيضا، كان من المفروض أن نبدأ بشيء بسيط

والثاني هو أني لم أوفر شرحا عن كيف ستعمل الخوارزمية

لذا هذه المرة قررت عمل شيء أكثر بساطة، مع توفير شرح بالطبع

القاسم المشترك الأكبر

هو شيء تعلمناه في الرياضيات، وعادة يستعمل لصنع خوارزميات، الهدف من النشاط هو إيجاد القاسم المشترك الأكبر انطلاقا من مُدخلين

مما يعني أن الدالة تقبل 2 input وتطرح 1 output

لحساب القاسم المشترك هناك طريقتين

الأول باستعمال خوارزمية اقليدس

في حال نسيتم كيف يتم حسابه، فالأمر كالتالي

(سأشرح مثال ويكيبيديا)

لدينا عدد ما، فنقل 252 وعدد آخر 198، ونريد أن نحسب القاسم المشترك الأكبر لهما،

نقوم أولا بقسم 252 على 198 لنجد باقي القسمة، ولنسمه العدد c، ثم نقوم مجددا بقسم العدد الأصغر من مدخلات البداية (وهو 198) على باقي القسمة الجديدة لنجد عدد آخر، ثم نقسم هذا العدد أيضا على العدد السابق (c) ونستمر بالأمر حتى نجد باقي القسمة يساوي 0، بهذا، فإن باقي القسمة التي أتى قبله هو القاسم المشترك الأكبر

مثال ويكي

القاسم المشترك الأكبر للعددين 252 و 198:

252 = 198 * 1 + 54 ‘ أربع وخمسون هو باقي قسمة 252 على 198

فنجد القاسم المشترك للعددين 198 و 54

198 = 54 * 3 + 36 ‘ ست وثلاثون هو باقي القسمة.

نكرر العملية هذه المرة مع : 54 و 36

54 = 36 * 1 + 18

مرة أخرى : 36 = 18 * 2 + 0

هنا وصلنا للصفر فيكون العدد الثاني 18 هو القاسم المشترك الأكبر.

الطريقة الثانية

طريقة الطرح

وهي أن تقوم بطرح العدد الأصغر من الأكبر لتحصل على ناتج، ثم تطرحه من العدد الأصغر في البداية وتقوم بالأمر حتى تجد النتيجة صفر، أي عندما يساوي a = b وعندها ذلك هو القاسم المشترك

252 - 198 = 54
198 - 54 = 144
144 - 54 = 90
90 - 54 = 36
36 - 18 = 18
18 - 18 = 0

والقاسم المشترك هو 18

تستطيعون استعمال أيّ طريقة تريدونها ما دامت النتيجة ستكون واضحة،

وبالطبع بأي لغة محببة لكم،

سأطرح أنا مثالي في الرد الأول وهو باستخدام الجافاسكربت

بالتوفيق