0 / 0 / 0
Регистрация: 22.11.2019
Сообщений: 4
1

Вычислить значение выражения: sqrt(3+sqrt(6+.+sqrt(96+sqrt(99)

22.11.2019, 00:57. Показов 9627. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь решить данное выражение, но ответ выходит слишком большим, вот наработка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <math.h>
#include <fstream>
 
using namespace std;
 
int main()
{
    double x = 0; 
    setlocale(LC_ALL, "Russian"); 
    const size_t z = 34; 
    int mas[z]; 
    for (size_t i = 1; i < z; ++i) 
    {
        mas[i] = i;
        x += sqrt(3*double(i) + x);
    }
    cout << "Ответ:" << endl << x;
    ofstream fout("out.txt");
    fout << x;
    fout.close();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2019, 00:57
Ответы с готовыми решениями:

Цикл: Для числа N вычислить значение следующего выражения: sqrt((1) + sqrt((2) + ... + sqrt(2 * N)))
Как это решить? sqrt((1)+sqrt((2)+..+sqrt(2n)))

Вычислить значение выражения sqrt (2 + sqrt (2 + sqrt (2 ... sqrt2))), (n-слагаемых)
Вычислить значение выражения sqrt (2 + sqrt (2 + sqrt (2 ... sqrt2))), (n-слагаемых),с помощью...

Рекурсия: вычислить значение выражения sqrt(1+sqrt(2+...sqrt(n)))
Вычислить с помощью рекурсии и без нее - y(n) = sqrt(1+sqrt(2+...sqrt(n).. Как выполнить задание с...

Вычислить значение выражения: Sqrt(x+sqrt(x+.sqrt(x) на с++
Для данного натурального N и вещественного x(x&gt;0) вычислить значение выражения:...

4
Диссидент
Эксперт C
27708 / 17324 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
22.11.2019, 01:17 2
trillix, попробуйте так
C++
1
2
3
4
double s = 96 + sqrt(99);
for(int k = 93; k >= 6; k-= 6) {
  s = sqrt((k-3) +  s);
}
По-честному - уверенности нет. Но вы попробуйте. Основная идея - начинать надо изнутри.
О приведениях типов не беспокойтесь. Тут все должно привестись само.
1
2460 / 1065 / 481
Регистрация: 17.11.2018
Сообщений: 2,742
22.11.2019, 02:43 3
C++
1
2
3
4
5
6
7
8
9
int main()
{
    double result = 0;    
 
    for( int n = 33; n; n-- )
        result = sqrt( result + n * 3. );
 
    cout << result;
}
0
Вездепух
Эксперт CЭксперт С++
11750 / 6425 / 1730
Регистрация: 18.10.2014
Сообщений: 16,217
22.11.2019, 04:47 4
Фух...

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
#include <cmath>
#include <functional>
#include <algorithm>
#include <iterator>
#include <iostream>
 
struct IntIterator
{
  using value_type = int;
  using iterator_category = std::input_iterator_tag;
  using pointer = void;
  using reference = value_type;
    
  value_type value, stride;
  
  IntIterator(value_type value, value_type stride = 1) : value(value), stride(stride)
    {}
    
  reference operator *() const
    { return value; }
    
  IntIterator &operator ++() 
    { value += stride; return *this; }
  IntIterator operator ++(int) 
    { IntIterator old = *this; value += stride; return old; }
  
  friend bool operator ==(const IntIterator &lhs, const IntIterator &rhs)
    { return lhs.value == rhs.value; }
  friend bool operator !=(const IntIterator &lhs, const IntIterator &rhs)
    { return lhs.value != rhs.value; }
};
 
int main()
{
   using namespace std::placeholders;
   std::cout << std::accumulate(IntIterator(99, -3), IntIterator(0), 0., std::bind((double (*)(double)) std::sqrt, std::bind(std::plus<>(), _1, _2))) << std::endl;
}
3
4817 / 2278 / 287
Регистрация: 01.03.2013
Сообщений: 5,947
Записей в блоге: 28
22.11.2019, 12:34 5
Цитата Сообщение от Байт Посмотреть сообщение
Основная идея - начинать надо изнутри.
Это если упираться в хвостовую рекурсию ака цикл. Если не упираться, то и снаружи вполне норм (если стек позволит):
C++
1
2
3
4
5
int main() {
    auto t = [](const auto& x, const auto& la) ->
        double { return x>=99 ? x : std::sqrt(x+la(x+3, la)); };
    std::cout << t(3, t);
}
1
22.11.2019, 12:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2019, 12:34
Помогаю со студенческими работами здесь

Дано натуральное число n. Вычислить sqrt(2+ sqrt(5 + sqrt(7...))
Дано натуральное число n.Вычислить sqrt(2+ sqrt(5 + sqrt(7...)). Под корнями располагается n первых...

Рекурсия: вычисление sqrt(1 + sqrt(2 + ... + sqrt(n)))
Не подскажите как расписать рекурсивно формулу? Спасибо!

Вычислить y=sqrt(1+sqrt(4+sqrt(9+.+sqrt(36+sqrt(49)
Помогите пожалуйста с решением данной задачи. \sqrt{1+\sqrt{4+\sqrt{9+...+\sqrt{36+\sqrt{49}}}}}...

Вычислить: sqrt(3+sqrt(6+.+sqrt(3*(n-1)+sqrt(3*n).)
Здравствуйте! Вычислить: sqrt(3+sqrt(6+...+sqrt(3*(n-1)+sqrt(3*n)...))) Правильно ли делаю...


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

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

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