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

Вычислить сумму, общий член задан рекуррентным соотношением

02.10.2014, 21:03. Показов 1587. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{k=1}^{n}\frac{(-1)^{k+1}}{k(k+1)}

Попытался составить рекуррентную формулу

https://www.cyberforum.ru/cgi-bin/latex.cgi?Y_k=Y_{k-1} \cdot \frac{k-1}{k+1}

а программу написать не получается
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.10.2014, 21:03
Ответы с готовыми решениями:

Вычислить сумму ряда, общий член которого задан формулой An=(xn)/n!
Не понимаю, помогите, нужно в С++

Вычислить значение квадратного корня рекуррентным соотношением
С клавиатуры ввести значение действительного числа x. Вычислить значение квадратного корня из этого числа по рекуррентным соотношением: ...

Найти сумму ряда, общий член которого задан формулой, с точностью ε
Найти сумму ряда, общий член которого задан формулой, с точностью ε (10-4)

15
 Аватар для Nevermind_qqq
73 / 59 / 41
Регистрация: 25.06.2014
Сообщений: 360
02.10.2014, 23:07
мб так?
C++
1
2
3
4
5
6
double Y=0;
int n;
for(int k=0;k<n;k++)
{
Y+=(pow(-1,(double)(k+1)))/(k*(k+1))
}
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
02.10.2014, 23:13
Nevermind_qqq, а мб (С) попробуете запустить свой код на выполнение?

ЗЫ pow(-1,(double)(k+1)) - шутку оценил.
0
 Аватар для Nevermind_qqq
73 / 59 / 41
Регистрация: 25.06.2014
Сообщений: 360
02.10.2014, 23:27
_Ivana, так написал бы свой сразу, если ума много
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <conio.h>
#include <math.h>
 
int main()
{
    double Y = 0;
    int n=11;
    for (int k = 1; k<n; k++)
    {
            Y += ((pow(-1, (k+1))) / (k*(k + 1)));
 
    }
    
    std::cout << Y;
    _getch();
    return 0;
}
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
03.10.2014, 00:41
xazeq1,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
double f(int k, double& sum)
{
    double n = k == 1 ? 0.5 : f(k-1, sum)*(1-k)/(k+1);
    sum += n;
    return n;
}
 
int main()
{
    double sum = 0;
    f(3, sum);
    cout << sum;
 
    return 0;
}
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,532
Записей в блоге: 1
03.10.2014, 09:13
Nevermind_qqq, зато у тебя похоже проблемы. pow использует... посмотрите-ка на этого "учителя"!
0
 Аватар для Nevermind_qqq
73 / 59 / 41
Регистрация: 25.06.2014
Сообщений: 360
03.10.2014, 16:22
Kuzia domovenok, ну и что же не так с pow?
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
03.10.2014, 18:21
Мне кажется рекуррентная формула другая:
https://www.cyberforum.ru/cgi-bin/latex.cgi?Y_k=-Y_{k-1} \cdot \frac{k}{k+2}

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
double f(int n)
{
  
   double ak=0.5;
   double sum=0;
   for( int k=1;k<=n;k++)
   {
         sum+=ak;
         ak*=-1.*k/(k+2);
   }
   return sum;
}
 
int main()
{
     double s= f(3);
     cout << s;
     return 0;
}
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,532
Записей в блоге: 1
03.10.2014, 18:56
Цитата Сообщение от Nevermind_qqq Посмотреть сообщение
Kuzia domovenok, ну и что же не так с pow?
во-первых, она не рекуррентна как просил автор.
во-вторых, она увеличивает сложность алгоритма на порядок
Программы zss и XRoy имеют сложность O(n)
Твой же вариант O(n квадрат)
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
03.10.2014, 23:09
Автор не просил рекуррентно, он только неудачно попытался, а модератор переименовал тему.

ЗЫ ума у меня не много, но эта задача его и не требует. Вот ленивый кот:
Haskell
1
sum $ take 500 [(fromIntegral $ 2 * mod k 2 - 1) / (fromIntegral $ k*(k+1)) | k<-[1..]]
0
 Аватар для Nevermind_qqq
73 / 59 / 41
Регистрация: 25.06.2014
Сообщений: 360
03.10.2014, 23:25
Kuzia domovenok, ну эти программы тем не менее требуют мат.преобразования, которое можно не делать
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,532
Записей в блоге: 1
04.10.2014, 11:25
Nevermind_qqq, какие нафиг "не делать"? Ты это читал???
http://habrahabr.ru/post/188010/
http://habrahabr.ru/post/78728/
https://en.wikipedia.org/wiki/Big_O_notation
лишние операции делаешь как раз ты, Nevermind_qqq!
вот это - всего две-три операции! o(1)
Цитата Сообщение от zss Посмотреть сообщение
sum+=ak; ak*=-1.*k/(k+2);
а вот это порядка N операций o(n)
Цитата Сообщение от Nevermind_qqq Посмотреть сообщение
pow(-1, (k+1))
Твоё упорное нежелание никого слушать поражает...
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
04.10.2014, 11:29
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а вот это порядка N операций o(n)
А то и существенно больше, если компилятор это приведет к pow(-1.0, double(k+1))
и будет считать как exp((k+1)*log(-1))

Кстати ak*=-1.*k/(k+2); можно еще чуть чуть сократить написав ak*=-(double)k/(k+2);
0
 Аватар для Nevermind_qqq
73 / 59 / 41
Регистрация: 25.06.2014
Сообщений: 360
04.10.2014, 11:42
Kuzia domovenok,под лишним я имел в виду составление рекуррентной формулы
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,532
Записей в блоге: 1
04.10.2014, 12:01
Nevermind_qqq, ты хотел "как лучше" а получилось только хуже.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
04.10.2014, 15:03
Еще вчера добавил расчет (-1)^n через pow в копилку перлов с форума (в блоге). Чувствую, тема благодатная, и копилка будет регулярно пополняться. Думаю, можно вообще завести отдельную тему и прикрепить ее в список важных, рядом с распространенными ошибками.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.10.2014, 15:03
Помогаю со студенческими работами здесь

Последовательность задана рекуррентным соотношением. Вычислить заданный элемент последовательности
проверте код пожалуйста вроде не точно вычисляет #include&lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; int main(){ int...

Дан числовой ряд и малая величина ɛ. Найти сумму ряда с точностью ɛ, общий член которого задан формулой
Дан числовой ряд и малая величина ɛ. Найти сумму ряда с точностью ɛ, общий член которого задан формулой an=(2n-1)/2^n. Программа нужна на...

Вычислить сумму ряда с точностью Е, общий член которого
Помогите, пожалуйста, написать программу. Вычислить сумму ряда с точностью Е, общий член которого

Вычислить сумму ряда с точностью Е, общий член которого
2. Вычислить сумму ряда с точностью Е, общий член которого напишите программу пожалуйста не могу оч надо

Вычислить сумму ряда с точностью E, общий член которого an = e-n.
Вычислить сумму ряда с точностью E, общий член которого an = e-n. Добавлено через 15 минут Хелп умоляю! Добавлено через 42...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru