Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 03.04.2022
Сообщений: 64
1

Вычисление выражения с радикалами

06.04.2022, 23:09. Показов 1798. Ответов 6
Метки c++ (Все метки)

Author24 — интернет-сервис помощи студентам
Дано натуральное число n, действительное x . Вычислить
Вычисление выражения с радикалами
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2022, 23:09
Ответы с готовыми решениями:

Вычисление значения выражения с вложенными радикалами.
Дано натуральное число n. Вычислить: \sqrt{2+\sqrt{2+\, ... \, \sqrt{2}}} ... — n корней.

Предел, выражения с радикалами
Здравствуйте! Помогите решить предел пожалуйста

Вычисление неопределённого интеграла с дробно-рациональным выражением и радикалами
Помогиите,:(пожалуйста решить неопределённые интегралы: 2. \int \frac...

Пределы с радикалами
Замечено, что студенты начинают чрезвычайно волноваться, увидев предел вида...

Упростить выражение с радикалами
Доброго времени суток! Помогите, пожалуйста, упростить выражение. Безуспешно бьюсь с выражением в...

6
Модератор
2639 / 1751 / 920
Регистрация: 16.10.2013
Сообщений: 5,067
Записей в блоге: 14
07.04.2022, 05:14 2
Лучший ответ Сообщение было отмечено Nicky1827 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cmath>
#include <cassert>
 
double f(int n, double x)
{
    return n==1 ? sqrt(x) : sqrt(pow(x, n) + f(n-1, x));
}
 
int main()
{
    double x{3.1415};
    int n{3};
 
    //std::cin >> x >> n;
    assert(x > 0.);
 
    std::cout << f(n, x);
 
    return 0;
}
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
07.04.2022, 08:33 3
Лучший ответ Сообщение было отмечено zss как решение

Решение

C++
1
2
3
4
5
double f(int n, double x, double xx)
{
    double a=xx*x;
    return n==1 ? sqrt(x) : sqrt(a + f(n-1, x,a));
}
1
Модератор
2639 / 1751 / 920
Регистрация: 16.10.2013
Сообщений: 5,067
Записей в блоге: 14
07.04.2022, 10:49 4
Лучший ответ Сообщение было отмечено Nicky1827 как решение

Решение

Catstail, в таком виде неверно будет работать, если не ошибаюсь. Вроде бы вот так нужно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
double f(int n, double x, double xx)
{
    double a=xx;
    return n==1 ? sqrt(x) : sqrt(a + f(n-1, x, a/x));
}
 
int main()
{
    ...
    std::cout << f(n, x, pow(x, n));
    return 0;
}
2
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
07.04.2022, 10:51 5
long399, да, я не проверил. Но были сомнения.
1
1 / 1 / 0
Регистрация: 03.04.2022
Сообщений: 64
17.04.2022, 17:34  [ТС] 6
long399, ты можешь сделать это? Найти подстроку с 1 до 5 символ и добавить ее в конец строки
0
Модератор
Эксперт CЭксперт С++
5174 / 2896 / 1501
Регистрация: 14.12.2018
Сообщений: 5,233
Записей в блоге: 1
17.04.2022, 18:04 7
Nicky1827, формула для рекурсии по-моему:
https://www.cyberforum.ru/cgi-bin/latex.cgi?S_m=\sqrt{x^m+\sqrt{x^{m-1}+...+\sqrt{x^2+\sqrt{x}}}}=\left\{\begin{matrix}<br />
\sqrt{x} & if & m=1\\ <br />
\sqrt{x^m+S_{m-1}} & if & m>1<br />
\end{matrix}\right.

И код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
double S(double x, int m)
{
    if (m == 1) return std::sqrt(x);
    else return std::sqrt(std::pow(x, m) + S(x, m - 1));
}
int main()
{
    int m;
    std::cout << "m = "; std::cin >> m;
    double x;
    std::cout << "x = "; std::cin >> x;
    std::cout << "Result: " << S(x, m);
    return 0;
}
Или без рекурсиии:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cmath>
int main()
{
    int m;
    std::cout << "m = "; std::cin >> m;
    double x;
    std::cout << "x = "; std::cin >> x;
    double a = 1.0, s = 0.0;
    for (int i = 1; i <= m; i++)
    {
        a *= x;
        s = sqrt(a + s);
    }
    std::cout << "Result: " << s << std::endl;
    return 0;
}
1
17.04.2022, 18:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2022, 18:04
Помогаю со студенческими работами здесь

Преобразование выражений с радикалами
Недавно попалось такое задание: &quot;Упростить выражение:&quot;...

Вычислить предел, выражение с радикалами
Вот предел \lim (x\rightarrow 0)\frac{\sqrt{4+x}-2}{{5}^{x}-1} В знаменателе я эквивалент нашел...

Вычислить предел, выражение с радикалами
\lim_{x\rightarrow 0}\frac{\sqrt{1+x}-1}{x} Необходимо найти предел. Лопиталя не предлагать :)

Дано уравнение с радикалами и параметром
Дано уравнение \sqrt x + \sqrt{x+1} + \sqrt{x+4} + \sqrt{x+9}=a . . . (1) где а - параметр...

Найти предел, выражение с радикалами
проверьте пожалуйста так я решил или нет


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru