Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
eamirus
1 / 1 / 0
Регистрация: 14.09.2013
Сообщений: 26
#1

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

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

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

http://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},

где http://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 минут
Помогите, пожалуйста, написать функцию!
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4766 / 4104 / 1371
Регистрация: 14.04.2014
Сообщений: 16,106
14.07.2014, 13:34     Рекурсивное вычисление корня k-й степени #2
Формулу запиши через редактор формул.
IrineK
Заблокирован
14.07.2014, 13:58     Рекурсивное вычисление корня k-й степени #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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;
}
eamirus
1 / 1 / 0
Регистрация: 14.09.2013
Сообщений: 26
14.07.2014, 14:06  [ТС]     Рекурсивное вычисление корня k-й степени #4
http://www.cyberforum.ru/cgi-bin/latex.cgi?Y_0=1 ,  {Y}_{N+1}=Y_N - ( Y_N - X /  ({Y_N}) ^{K-1}  ) )/K
Немного поправил пару ошибок.
Хотя там и так все правильно, упс.
Hekaton Prime
10 / 10 / 2
Регистрация: 10.06.2014
Сообщений: 21
14.07.2014, 14:28     Рекурсивное вычисление корня k-й степени #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;
}
IrineK
14.07.2014, 15:34
  #6

Не по теме:

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

Ilot
Модератор
Эксперт С++
1784 / 1159 / 224
Регистрация: 16.05.2013
Сообщений: 3,048
Записей в блоге: 5
Завершенные тесты: 1
14.07.2014, 15:40     Рекурсивное вычисление корня k-й степени #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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2014, 15:43     Рекурсивное вычисление корня k-й степени
Еще ссылки по теме:

Вычисление корня n-ой степени C++
C++ Вычисление корня n степени оформить в виде функции
Рекурсивное вычисление x!-sin(x) C++
Вычисление корня заданной степени C++
C++ Приближенное вычисление корня n-ой степени, в чем ошибка?

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

Или воспользуйтесь поиском по форуму:
IrineK
Заблокирован
14.07.2014, 15:43     Рекурсивное вычисление корня k-й степени #8
Ilot,
ходят слухи, что формула не работает - шамань/не шамань.
Yandex
Объявления
14.07.2014, 15:43     Рекурсивное вычисление корня k-й степени
Ответ Создать тему
Опции темы

Текущее время: 07:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru