اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

بلغة JavaScript يمكنك كتابة هذه الدالة بشكلين :

const myFunc = (a,b)=>{
    return Math.pow((Math.sqrt(a)), b)
}

console.log(myFunc(4,3)) // 8

والشكل المختصر :

const myFunc = (a,b)=>{
    return (a**0.5)**b
}

console.log(myFunc(4,3))

وذلك لأن الاشارة ** هي التي ترمز إلى القوى في جافاسكريبت

و العدد للقوة 0.5 هو نفسه جذر العدد.

فالمثال السابق يقوم بإيجاد جذر الـ a ثم رفعه للقوة b.

وفي بايثون :

def my_function(a , b):
  return (a ** 0.5) ** b

print(my_function(4 , 3)) # 8

 

  • 0
نشر

يمكنك استعمال التوابع الموجودة في المكاتب، أو يمكنك كتابة التابع الخاص بك لوحدك.

سأشرح لك الطريقة و هي بسيطة جداً.

سأفترض هنا أنك تريد الجذر لعدد موجب (يمكن حساب الجذر التكعيبي لعدد سالب و الطريقة نفسها لذلك سأشرح للموجب حاليا).

إن حساب جذر a من المرتبة n يكافئ إيجاد العدد x الذي عندما نقوم بأخذه للقوة n ينتج لدينا العدد، أي:

635e5c2339997_Screenshotfrom2022-10-3014-12-29.png.25df3be178734b37d0438ab6e436c074.png

و بما أن تابع القوة هو تابع متزايد تماماً في مجال الأعداد الموجبة و بما أنن نضمن أن العدد x حتماً سيكون بين العدد a و ال 0 (ﻷننا افترضنا أن العدد موجب و هو جذر a) يمكننا تطبيق البحث الثنائي على هذه المسألة.

البحث الثنائي يمكن فهمه بشكل مبسط عن طريق مثال واقعي، و هو لنفترض أنه لديك كتاب ما، الصفحات فيه مرقمة، و تريد الذهاب إلى الصفحة رقم x، أنت في الواقع تفتح صفحة عشوائية و ترى في حال كانت اصغر من x تبحث في القسم الثاني، بينما في حال كانت أكبر من x فتعود للبحث في القسم الأول.

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

يمكننا استعمال ذلك في مسألتنا، حيث أن المجال من ال 0 إلى a سنفرض أن بداية المجال هي s و نهايته هي e و في كل مرة نقوم بالتالي:

  1. نقوم بحساب موقع المنتصف و هو 2/(s+e) و لندعو الرقم هذا x.
  2. في حال كان x للقوة n يساوي الرقم الذي نريده و هو a نقوم بالتوقف و إلا نذهب للخطوة 3.
  3. في حال كان x للقوة n أكبر من a نقوم بتحديث قيمة e لتصبح منتصف المجال أي e=x و نعود للخطوة 1، و إلا نذهب للخطوة 4.
  4. هنا نحن نعلم أن x للقوة n أصغر من a و بالتالي علينا البحث في النصف الثاني فنحدث البداية s لتصبح منتصف المجال أي s=x و نعود للخطوة 1.

لنأخذ مثالاً على ذلك لفهم ما سبق، لنفرض أننا نريد إيجاد الجذر التكعيبي للعدد 8 (نحن نعلم أنه 2)، بالتالي هنا لدينا

635e5cc62057c_Screenshotfrom2022-10-3014-15-12.png.7fe92d52d10aaf2617d7c8d1d08b4e79.png

نلاحظ أن x للقوة n أي للتكعيب لا يساوي a و بالتالي ننتقل للخطوة 3، إن x للتكعيب أكبر من a وضوحاً و بالتالي نجعل e=x فيصبح لدينا في التكرار التالي ما يلي:

635e5dc626026_Screenshotfrom2022-10-3014-19-28.png.01f245a0aa4e65c539821e328fc968c2.png

إن x للتكعيب يساوي القيمة التي نريدها فنتوقف و نقول إن الجواب هو 2 ( أي قيمة x ).

من أجل القيم السالبة يمكننا تطبيق نفس الفكرة العامة.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...