Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/22: Рейтинг темы: голосов - 22, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 14.09.2013
Сообщений: 26
1

Рекурсивное вычисление корня k-й степени

14.07.2014, 11:29. Показов 4427. Ответов 7
Метки нет (Все метки)

Описать рекурсивную функцию RootK(X, K, N) вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле:

https://www.cyberforum.ru/cgi-bin/latex.cgi?Y_0 = 1, Y_{N+1} = Y_N -\frac{Y_N - \frac{X} {Y_N^{k-1}}}{k},

где https://www.cyberforum.ru/cgi-bin/latex.cgi?Y_N обозначает RootK(X, K, N) при фиксированных X и K. Параметры функции: X (> 0) — вещественное число, K (> 1) и N (> 0) — целые. С помощью функции RootK найти для данного числа X приближенные значения его корня K-й степени при шести данных значениях N.

Добавлено через 50 минут
Помогите, пожалуйста, написать функцию!
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.07.2014, 11:29
Ответы с готовыми решениями:

Вычисление корня n-ой степени
Сам обучаюсь C#, но дали решить С++ не понимаю помогите пожалуйста!!!

Рекурсия: вычисление корня n-ой степени
Вот условие А вот то, что я набросал... Прошу исправить... Зарание спасибо: #pragma argsused...

Вычисление корня заданной степени
Всем привет. Как сделать корень по основанию? Например:

Вычисление корня n-й степени по итерационной формуле
Доброго времени суток, тут есть одна задача... Известно, что корень n-й степени из X может быть...

7
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
14.07.2014, 13:34 2
Формулу запиши через редактор формул.
0
Заблокирован
14.07.2014, 13:58 3
Лучший ответ Сообщение было отмечено eamirus как решение

Решение

C++
1
2
3
4
5
double RootK(double x, int k, int n)
{
    if (!n) return 1;
    return RootK(x, k, n - 1) - (RootK(x, k, n - 1) - x/pow(RootK(x, k, n - 1), k - 1))/k;
}
1
1 / 1 / 0
Регистрация: 14.09.2013
Сообщений: 26
14.07.2014, 14:06  [ТС] 4
https://www.cyberforum.ru/cgi-bin/latex.cgi?Y_0=1 ,  {Y}_{N+1}=Y_N - ( Y_N - X /  ({Y_N}) ^{K-1}  ) )/K
Немного поправил пару ошибок.
Хотя там и так все правильно, упс.
0
11 / 11 / 6
Регистрация: 10.06.2014
Сообщений: 21
14.07.2014, 14:28 5
С помощью приведённой формулы невозможно посчитать корень n-ой степени от числа. Скорей всего предполагалась очень похожая формула из быстросходящийся алгоритм нахождения корня n-ной степени

Программа с данной функцией может иметь следующий вид:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
 
using namespace std;
 
double RootK(double X, int K, int N = 6);
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    double number; int rank;
 
    while (true)
    {
        cout << "Введите число: ";
        cin >> number;
        if (number > 0) { break; }
        cout << "Число меньше нуля" << endl;
    }
 
    while (true)
    {
        cout << "Введите степень корня: ";
        cin >> rank;
        if (rank > 1) { break; }
        cout << "Число меньше еденицы" << endl;
    }
 
    cout << RootK(number, rank) << endl;
 
    system("PAUSE");
 
    return 0;
}
 
double RootK(double X, int K, int N)
{
    if (!N) { return 1; }
    
    return ( (K-1)*RootK(X, K, N-1) + (X/( pow(RootK(X, K, N-1),(K-1)))) ) / K;
}
0
IrineK
14.07.2014, 15:34
  #6

Не по теме:

Цитата Сообщение от Hekaton Prime Посмотреть сообщение
С помощью приведённой формулы невозможно посчитать корень n-ой степени от числа
Чево дают, таво и кодим)

0
Эксперт по математике/физикеЭксперт С++
1932 / 1270 / 365
Регистрация: 16.05.2013
Сообщений: 3,317
Записей в блоге: 6
14.07.2014, 15:40 7
IrineK, малость подшаманил. На кой ляд тройной вызов одной функции с одинаковыми аргументами...
C++
1
2
3
4
5
6
double RootK(double x, int k, int n)
{
    if (!n) return 1;
    double tm = RootK(x, k, n - 1) ;
    return tm - (tm - x/pow(tm, k - 1))/k;
}
0
Заблокирован
14.07.2014, 15:43 8
Ilot,
ходят слухи, что формула не работает - шамань/не шамань.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2014, 15:43

Вычисление корня n степени оформить в виде функции
Вычислить z=x\sqrt{y}+\frac{\sqrt{y}}{ctgx}+tx(x+y) при x=2.12, y=5 Вычисление корня n степени...

Приближенное вычисление корня n-ой степени, в чем ошибка?
#include &lt;cmath&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; main() { float x,x1,e,y,y1,p;y1=1; ...

Рекурсивное вычисление корня третьей степени из числа
Что в данном случае означают параметры функции k и n? program qroot; function f(x:real;...

Рекурсивное вычисление квадратного корня числа
var a:real;n:integer; function p(a:real;n:integer):real; var res:real; begin if n=0 then...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.