Я пытаюсь написать функцию корня куба с именем double my_cbrt_1(double n)
используя следующий псевдокод:
x = 1
repeat 10 times: x = (2x + n / x2) / 3
return x
и затем записывают основную часть, которая печатает n, cbrt (n) и my_cbrt_1 (n) для n = 3,14159 раз от 10 до k-й степени для k = -100, -10, -1, 0, 1, 10 и 100. Используйте этот код C ++ 11 (который работает только на linux2):
for(auto k : {-100, -10, -1, 0, 1, 10, 100}){
n = 3.14159 * pow(10.0, k);
//cout goes here
}
У меня проблемы с началом работы. Если бы кто-нибудь мог мне помочь, это было бы здорово!
Чтобы начать, вы, вероятно, должны вычислить кубический корень одного числа один раз, а затем вы можете использовать эту же функцию для новых чисел
Чтобы просто реализовать функцию, которую вам дали
double my_cbrt_1(double n)
{
double x = 1.0;
for(int i=0; i<10; i++)
{
x = (2.0*x + n / (x*x)) / 3.0;
}
return x;
}
Других решений пока нет …