PDA

View Full Version : سوال: مقدار رادیکال n را به صورت بازگشتی محاسبه شود



saeed205
یک شنبه 01 دی 1392, 10:19 صبح
سلام و خسته نباشید
آقا من یک سوال در C++ دارم
یه سوال هست به صورت زیر که نمیدونم چطور باید بنویسم

برنامه ای بنویسید که مقدار رادیکال n را به صورت بازگشتی محاسبه کند. شما حق ندارید از توابع sqrt استفاده کنید و تنها می توانید از عملگرهای -+*/ استفاده کنید

ممنون میشم کمک کنید

amirhossein.ha
یک شنبه 01 دی 1392, 15:32 عصر
این کار میکنه یه عدد میگیره و رادیکالش رو تا 4 یا 5 رقم اعشار میگه ولی چرا کار مکینه رو نمیدونم :

#include <cstdlib>
#include <iostream>
using namespace std;
double sqrtr( double N , double Low ,double High )
{
// Precondition: Low and High, Low <= High, must be non-negative, and must
// bracket sqrt(N).

const double sqrt_mef = 1e-8; // Approximate square root of machine efficiency

double mid = (Low + High)/2; // No +1

if((High-Low)/(1+mid) < sqrt_mef)
{
return mid;
}

else if (N < mid * mid )
{
return sqrtr(N,Low,mid) ; // No -1
}
else
{
return sqrtr(N,mid,High) ;
}

}

int main()
{
int a ;
cin >> a ;
cout << sqrtr(a,0,a) << endl ;
system("PAUSE");
return 0;
}

saeed205
یک شنبه 01 دی 1392, 15:44 عصر
ممنون ولی بالا هم گفتم که حق استفاده از توابع sqrt رو ندارم

amirhossein.ha
یک شنبه 01 دی 1392, 17:34 عصر
خب اینجا هم که از توابع sqrt استفاده نشده میشه بگید کجاش از sqrt استفاده کرده ؟