تم حلها: javascript gcd

تكمن المشكلة الرئيسية في خوارزمية JavaScript GCD في أنها قد تستغرق وقتًا طويلاً لحسابها.

function gcd(a, b) {
    if (b == 0) {
        return a;
    } else {
        return gcd(b, a % b);
    }
}

هذه دالة تكرارية لحساب القاسم المشترك الأكبر لرقمين ، باستخدام خوارزمية إقليدس.

إذا كانت b تساوي 0 ، فإن GCD تساوي a. وبخلاف ذلك ، فإن GCD يساوي GCD لـ b والباقي من a مقسومًا على b.

أعظم قسمة مشتركة

القاسم المشترك الأكبر (GCD) لعددين صحيحين هو أكبر عدد صحيح يقسم كلا العددين دون ترك الباقي. على سبيل المثال ، GCD لـ 12 و 24 هي 6.

مكتبات الرياضيات

هناك عدد قليل من المكتبات التي يمكن أن تساعد في الرياضيات في JavaScript. أحدهما هو Math.js ، والذي يوفر عددًا من الوظائف والكائنات الرياضية الأساسية. آخر هو numeral.js ، الذي يوفر مجموعة شاملة من الوظائف والكائنات الرقمية.

العودية في JavaScript

العودية هي بناء برمجة يسمح للدالة باستدعاء نفسها. بمعنى آخر ، يسمح للدالة بالإشارة إلى نفسها في تعريفها الخاص. يمكن استخدام العودية لحل المشكلات أو تحقيق أهداف معينة.

أحد الاستخدامات الشائعة للتكرار هو الخوارزميات التي تحل المشكلات باستخدام الحلقات. على سبيل المثال ، يمكن حل تسلسل فيبوناتشي باستخدام خوارزمية تكرارية. تبدأ الخوارزمية بحساب رقم فيبوناتشي لأول مرة ، ثم حساب رقم فيبوناتشي للمرة الثانية بناءً على نتيجة الحساب الأول. تتكرر هذه العملية حتى يصل التسلسل إلى حد محدد مسبقًا أو حتى يحدث خطأ.

يمكن أيضًا استخدام الدوال التكرارية لحل المشكلات التي تتضمن القوائم والمصفوفات. على سبيل المثال ، لنفترض أنك تريد العثور على جميع الأرقام الزوجية بين 2 و 100. يمكنك استخدام حلقة للقيام بذلك ، لكن الأمر سيستغرق وقتًا طويلاً للتشغيل. بدلاً من ذلك ، يمكنك استخدام العودية لحساب جميع الأرقام الزوجية بين 2 و 100 باستخدام استدعاء دالة واحدة.

الوظائف ذات الصلة:

1 فكرة عن "تم الحل: جافا سكريبت gcd"

اترك تعليق