Theme
Primary Color

فهم Recursion من خلال شرط التوقف

الدالة اللي بتنادي نفسها لازم تقرب من حالة توقف واضحة وإلا الاستدعاءات هتستمر

شغل المثال بإستخدام Node.js لتوضيح الفكرة ويمكن تطبيق نفس المبدأ في لغات تانية

المثال العملي

function factorial(n) {
  if (!Number.isInteger(n) || n < 0 || n > 18) throw new RangeError('Use 0 To 18');
  if (n === 0) return 1;
  return n * factorial(n - 1);
}
console.log(factorial(5));
console.log(factorial(0));

النتيجة

120
1

كل استدعاء بيقلل n بواحد لحد الصفر والحد الأعلى هنا بيبقي النتيجة ضمن الأعداد الصحيحة الآمنة في JavaScript

جرب بنفسك

اكتب نسخة بحلقة وقارنها بالنسخة الحالية لكل قيمة من صفر إلى عشرة

programming شرح