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

Найти сумму первых n членов заданной последовательности

23.03.2016, 17:23. Показов 1218. Ответов 12
Метки нет (Все метки)

1)По заданной формуле члена последовательности с номером k найти сумму первых n
членов последовательности (k=1,2,3..,n).
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2016, 17:23
Ответы с готовыми решениями:

По заданной формуле члена последовательности с номером k найти сумму первых n членов последовательности
Помогите, пожалуйста, с решением. По заданной формуле члена последовательности с номером k найти...

Найти сумму первых N элементов заданной последовательности
Прогуглил, но там удален мат Помогите пожалуйста написать код на Delphi: Последовательность...

Вычислить сумму n первых членов последовательности
здравствуйте, подскажите как исправить ошибку в программе задание: Вычислить сумму n первых...

Рассчитать сумму первых n членов последовательности
1) рассчитать сумму первых n членов последовательности (k=1,2,3...n) ,организовав рекурсивную...

12
562 / 429 / 283
Регистрация: 05.04.2013
Сообщений: 1,946
23.03.2016, 19:19 2
AngelinaNov, на будущее: пользуйтесь редактором формул для их написания (в низу)
https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{k=0}^{n}\frac{1}{(2k)!}

Добавлено через 25 минут
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function factorial(n: integer): real;
begin
if n > 1
then factorial := n * factorial(n-1)
else factorial:= 1;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
k,n:Integer;
s:real;
begin
s := 0;
n := StrToInt(Edit1.Text);
for k := 0 to n do s := s + 1/factorial(2*k);
Label1.Caption := FloatToStr(s);
end;
1
88 / 84 / 43
Регистрация: 02.05.2015
Сообщений: 766
23.03.2016, 21:59 3
AHBAR,
function factorial(n: integer): real;
Факториал риал? Почему? Он же всегда целый..
Почему бы не использовать longint?
0
562 / 429 / 283
Регистрация: 05.04.2013
Сообщений: 1,946
24.03.2016, 05:16 4
Цитата Сообщение от CheshireesCat Посмотреть сообщение
Факториал риал? Почему? Он же всегда целый..
Почему бы не использовать longint?
когда я понял что числа могут быть офигенно большими, сам факториал не нужно никуда выводить и сумма все равно будет real из-за деления, не стал заморачиваться

Добавлено через 4 минуты
вообще при каком то большом n выскакивала ошибка деления на ноль..
0
88 / 84 / 43
Регистрация: 02.05.2015
Сообщений: 766
24.03.2016, 06:02 5
AHBAR, Int64 - 64 битовое целое число - наибольшее в Delphi
Types

Добавлено через 2 минуты
и вот ещё
0
562 / 429 / 283
Регистрация: 05.04.2013
Сообщений: 1,946
24.03.2016, 07:32 6
CheshireesCat, почему-то когда факториал in64, при n=33 (2*33)! сумма выдает ошибку (деление на ноль)
при факториал real, ошибка выходит уже только при n=86 (переполнение)
как-то нелогично
0
88 / 84 / 43
Регистрация: 02.05.2015
Сообщений: 766
24.03.2016, 07:36 7
AHBAR, а extended?
0
562 / 429 / 283
Регистрация: 05.04.2013
Сообщений: 1,946
24.03.2016, 07:37 8
наверно лучше сделать extended
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function factorial(n: integer): extended;
begin
if n > 1
then factorial := n * factorial(n-1)
else factorial:= 1;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
k,n:Integer;
s:extended;
begin
s := 0;
n := StrToInt(Edit1.Text);
for k := 0 to n do s := s + 1/factorial(2*k);
Label1.Caption := FloatToStr(s);
end;
но какой бы тип не ставить все равно при определенном n наступает момент когда сумма не меняется (определенное число после запятой), так как 1/(2*i)! приближается к нулю...
0
88 / 84 / 43
Регистрация: 02.05.2015
Сообщений: 766
24.03.2016, 07:43 9
AHBAR, к стати, стоило бы "обнулять" factorial:=1 перед условием...
дык при каком n Extended заканчивается?
0
562 / 429 / 283
Регистрация: 05.04.2013
Сообщений: 1,946
24.03.2016, 08:18 10
Цитата Сообщение от CheshireesCat Посмотреть сообщение
дык при каком n Extended заканчивается?
878

Добавлено через 12 минут
Цитата Сообщение от CheshireesCat Посмотреть сообщение
AHBAR, к стати, стоило бы "обнулять" factorial:=1 перед условием...
он и "обнуляется" при
Delphi
1
else factorial:= 1;
0
88 / 84 / 43
Регистрация: 02.05.2015
Сообщений: 766
24.03.2016, 09:05 11
AHBAR, а разве правильно будет не так:
Delphi
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
function fuct(n:integer):Extended;
var i:integer;
  tmp:extended;
begin
  tmp:=1;
  if n>1 then
    begin
      for i:=1 to n do
        tmp:=tmp*i;
      fuct:=tmp
    end
  else
    fuct:=1;
end;
 
procedure TForm1.btn1Click(Sender: TObject);
var
  k,n:integer;
  s:real;
begin
  n:=10;
  s:=0;
  for k:=0 to n do s:=s+1/(fuct(k*2));
  showmessage(Floattostrf(s,ffFixed,2,3));
end;
?

Добавлено через 1 минуту
как ввести н не имеет значения, я пост чтобы не париться с едиттами и инпутбоксами, просто присвоил

Добавлено через 4 минуты
tmp добавил только потому что чёт оно ругалось на fuct
0
562 / 429 / 283
Регистрация: 05.04.2013
Сообщений: 1,946
24.03.2016, 10:32 12
Цитата Сообщение от CheshireesCat Посмотреть сообщение
AHBAR, а разве правильно будет не так:
в принципе это тоже верный и рабочий вариант, кстати if n>1 then необязательно делать, так как когда
n=1 цикл выполнится 1 раз и факториал будет=1, при n<1 (хотя он для положительных) все равно факториал будет =1, (цикл не выполнится) фактроиал будет равен своему начальному значению (=1)

а тот код я нашел в интернете, удивился что так можно функции писать, но работает! видимо функция сама себя может "зациклить" или как правильно сказать (factorial := n * factorial(n-1))
0
88 / 84 / 43
Регистрация: 02.05.2015
Сообщений: 766
24.03.2016, 10:59 13
Цитата Сообщение от AHBAR Посмотреть сообщение
(factorial := n * factorial(n-1))
это называется рекурсией)) когда процедуры и функции сами себя вызывают
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.03.2016, 10:59
Помогаю со студенческими работами здесь

Как примерно должна выглядеть программа для нахождения суммы первых n членов заданной последовательности?
как примерно должна выглядеть программа для нахождения суммы первых n членов последовательности...

Написать программу, которая подсчитает сумму членов заданной последовательности, построенной за K шагов
Задача: Рассмотрим числовую последовательность, первоначально состоящую из двух единиц: 1, 1....

Найти сумму первых k чисел последовательности Фибоначчи
Найти сумму первых k чисел последовательности Фибоначчи. Последовательность определяется законом:...

Сумма первых n членов последовательности
По заданной формуле члена последовательности с номером k найти сумму первых n членов...


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

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

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