یافتن ریشه سوم یک عدد – به زبان ساده


در آموزشهای قبلی مجله فرادرس، با روش محاسبه ریشه دوم یک عدد آشنا شدیم. در این آموزش، با نحوه یافتن ریشه سوم یک عدد آشنا میشویم. همچنین، برنامه مربوط به آن را در زبانهای برنامهنویسی مختلف را ارائه خواهیم کرد.
الگوریتم یافتن ریشه سوم یک عدد با جستوجوی باینری
برای نوشتن برنامه یافتن ریشه سوم یک عدد، میتوانیم از جستوجوی باینری استفاده کنیم. ابتدا خطای را تعریف میکنیم.
برای مثال، مقدار خطا را قرار میدهیم. گامهای اصلی الگوریتم محاسبه ریشه سوم عدد به صورت زیر است:
- شروع را برابر با صفر (start=0) و پایان را برابر با (end = n) قرار میدهیم.
- میانگین mid = (start + end)/2 را محاسبه میکنیم.
- قدر مطلق n – mid*mid*mid را بررسی میکنیم که کوچکتر از e باشد. اگر شرط n – mid*mid*mid) < e) برقرار باشد، آنگاه جواب همان mid خواهد بود.
- اگر mid*mid*mid)>n) باشد، آنگاه این تساوی end = mid را قرار میدهیم.
- اگر mid*mid*mid)<n) باشد، آنگاه این تساوی start = mid را قرار میدهیم.
مثال
به عنوان یک مثال ساده، فرض کنید میخواهیم ریشه سوم عدد 10 را به دست آوریم. با قرار دادن start = 0 و end = 10، مقدار mid = 5 به دست میآید. قدر مطلق خطا برابر با 10 - ۱۲۵ = ۱۱۵ است. با توجه به اینکه این مقدار بیشتر از خطای قابل قبول (مثلاً 0٫1) است و mid*mid*mid)>n) تساوی end = mid را قرار میدهیم. اکنون end = 5 و در نتیجه mid = 2٫۵ است. قدر مطلق خطا در این حالت ۱۰ - ۱۵٫۶۳۵ = ۵٫۶۳۵ است و از آنجایی که mid*mid*mid)>n) است، تساوی end = ۲٫۵ را قرار میدهیم. اکنون start = 0 و end = ۲٫۵ است. همینگونه، محاسبات را ادامه میدهیم تا به مقدار خطای مطلوب برسیم.
کدهای مربوط به این الگوریتم، در زبانهای برنامهنویسی مختلف، در ادامه ارائه شده است. هدف از این برنامهها، این است که برای مثال، ورودی و خروجیهای زیر را داشته باشیم:
Input: n = 3 Output: Cubic Root is 1.442250 Input: n = 8 Output: Cubic Root is 2.000000
برنامه یافتن ریشه سوم یک عدد در ++C
برنامه یافتن ریشه سوم یک عدد در Java
برنامه یافتن ریشه سوم یک عدد در Python
برنامه یافتن ریشه سوم یک عدد #C
برنامه یافتن ریشه سوم یک عدد در PHP
اگر این مطلب برایتان مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای محاسبات عددی
- آموزش محاسبات عددی با MATLAB
- مجموعه آموزشهای دروس ریاضیات
- آموزش ریاضی پایه دانشگاهی
- روش نیوتن — به زبان ساده
- دستگاه معادلات خطی — به زبان ساده
- روش ژاکوبی — به زبان ساده
^^
def rooting_fringe_n(num, fringe):
return num ** (fringe ** -1)
rooting_fringe_n(8, 3)
<<<2.0