Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 2
Регистрация: 11.10.2016
Сообщений: 116

Вычислить значение членов ряда

07.10.2017, 23:25. Показов 832. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, у меня дилема. Никак не могу додумать алгоритм: пусть V1=V2=0; V3=1,5;
Vi=((i+1)/(i^2+1))-((Vi-2)*(Vi-3)); i=4,5,...
 Комментарий модератора 
https://www.cyberforum.ru/cgi-bin/latex.cgi?{v}_{i}=\frac{i+1}{{i}^{2}+1}-{v}_{i-2}{v}_{i-3}

Дано натуральное число n>3. Как получить V1,V2,...Vn?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.10.2017, 23:25
Ответы с готовыми решениями:

Вычислить значение суммы (произведения) членов ряда
\sum_{K=1}^{N}\;\frac{K!}{\frac{1}{2}+\frac{1}{3}+...+\frac{1}{K+1}} #include <iostream> using namespace std;

Вычислить сумму n членов ряда. Значение n задает пользователь
Почему то не получается(

Вычислить значение суммы членов бесконечного ряда с заданной точностью E
Вычислить значение суммы членов бесконечного ряда с заданной точностью E. На печать вывести значение суммы и число членов ряда, вошедших...

8
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
07.10.2017, 23:51
добавлять V1,V2,...Vn в контейнер, а потом просто вывести.
0
0 / 0 / 2
Регистрация: 11.10.2016
Сообщений: 116
07.10.2017, 23:59  [ТС]
Это как в контейнер?
0
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
08.10.2017, 00:08
nenahov, массив в вашем случае, где начиная с 1 хранятся значения V i-го
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
08.10.2017, 00:16
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <exception>
#include <cmath>
#include <vector>
#include <algorithm>
std::vector<double> func(int n)
{
    if (n < 3)
        throw std::exception("bad parameter: n < 3");
 
    std::vector<double> result = { 0,0,1.5 };
    result.reserve(n);
    for (size_t i = 4; i <= n; i++)
        result.push_back(((static_cast<double>(i) + 1.0) / (pow(static_cast<double>(i), 2.0) + 1.0)) - ((*(result.cend() - 2))*(*(result.cend() - 3))));
 
    return result;
}
0
0 / 0 / 2
Регистрация: 11.10.2016
Сообщений: 116
08.10.2017, 00:32  [ТС]
Дак в том то и дело что массивами пользоваться нельзя (прошу прощения, что сразу не сказал), можно только циклами и условиями
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
08.10.2017, 01:10
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
#include <iostream>
#include <exception>
#include <cmath>
 
double func(int n)
{
    if (n < 3)
        throw std::exception("bad parameter: n < 3");
 
    double Vm3 = 0;
    double Vm2 = 0;
    double Vm1 = 1.5;
 
    double Vi = 0;
    for (size_t i = 4; i < n; i++)
    {
        Vi = ((static_cast<double>(i) + 1.0) / (pow(static_cast<double>(i), 2.0) + 1.0)) - ((Vm2)*(Vm3));
//      std::cout << i << '\t' << Vi << std::endl;
        std::swap(Vm3, Vm2);
        std::swap(Vm2, Vm1);
        std::swap(Vm1, Vi);
    }
    Vi = ((static_cast<double>(n) + 1.0) / (pow(static_cast<double>(n), 2.0) + 1.0)) - ((Vm2)*(Vm3));
//  std::cout << n << '\t' << Vi << std::endl;
 
    return Vi;
}
Мб красивее можно сделать.
0
0 / 0 / 2
Регистрация: 11.10.2016
Сообщений: 116
08.10.2017, 13:03  [ТС]
А как этот код можно переделать на С++ и сделать его универсальным (не под значение n=4)?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private static void Task92()
{
    double v1 = 0, v2 =0, v3 = 1.5,v=v3;
    int n = 4;
    n = Convert.ToInt32(Console.ReadLine());
    for (int i = 4; i &lt; n; i++)
    {
        v = (i + 1.0)/(1.0 + i*i)*v3 - v2*v1;
        v1 = v2;
        v2 = v3;
        v3 = v;
    }
    Console.WriteLine(v);
}
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
08.10.2017, 21:06
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
#include <iostream>
#include <exception>
#include <cmath>
 
void Task92()
{
    double Vm3 = 0;
    double Vm2 = 0;
    double Vm1 = 1.5;
 
    double Vi = 0;
    size_t n = 4;
    std::cin >> n;
    std::cout << std::endl;
    if (n < 3)
        throw std::exception("bad parameter: n < 3");
    for (size_t i = 4; i <= n; i++)
    {
        Vi = (static_cast<double>(i) + 1.0) / pow(static_cast<double>(i), 2.0)*Vm1 - Vm2*Vm3;
        std::swap(Vm3, Vm2);
        std::swap(Vm2, Vm1);
        Vm1 = Vi;
    }
 
    std::cout << Vi << std::endl;
}
Это новое задание? Формула из шапки не соответствует этой.

Добавлено через 8 минут
Исправил.
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
#include <iostream>
#include <exception>
#include <cmath>
 
void Task92()
{
    double Vm3 = 0;
    double Vm2 = 0;
    double Vm1 = 1.5;
 
    double Vi = 0;
    size_t n = 4;
    std::cin >> n;
    std::cout << std::endl;
    if (n < 3)
        throw std::exception("bad parameter: n < 3");
    for (size_t i = 4; i <= n; i++)
    {
        Vi = (static_cast<double>(i) + 1.0) / (1.0 + pow(static_cast<double>(i), 2.0))*Vm1 - Vm2*Vm3;
        std::swap(Vm3, Vm2);
        std::swap(Vm2, Vm1);
        Vm1 = Vi;
    }
 
    std::cout << Vi << std::endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.10.2017, 21:06
Помогаю со студенческими работами здесь

Вычислить функцию с помощью разложения в ряд (число членов ряда и значение аргумента ввести с консоли)
Здравствуйте. Нужно вычислить функцию с помощью разложения в ряд. Число членов разложения ряда и значение аргумента ввести с консоли. ...

Определить число членов ряда, необходимых для расчета с заданной погрешностью суммы членов ряда
определить число членов ряда, необходимых для расчета с заданной погрешностью суммы членов ряда: 1-1/3+1/5-1/7+…..: (-1)^N/(2*N+1);...

Вычислить произведение членов ряда
Помогите пожалуйста решить пример P=\prod_{k=1}^{6} \frac{e^k}{\left(k+1 \right)!} \, arctan^2\,k

Вычислить сумму m членов ряда
Даны натуральное m , действительное x. Вычислить сумму m членов ряда, общий член которого равен: ...

Вычислить сумму N членов ряда i!/(N+i)!
Столкнулся впервые с языком программирования. Дали задачу &quot;Дано натуральное число N. Вычислить \sum_{i=1}^{N}\frac{i!}{(N+i)!}&quot; Код...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru