Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
TEKJ
13 / 13 / 14
Регистрация: 11.11.2012
Сообщений: 147
1

Найти сумму через рекурсию

11.02.2013, 21:02. Просмотров 287. Ответов 1
Метки нет (Все метки)

http://www.cyberforum.ru/cgi-bin/latex.cgi?y=\sum_{i=1}^{n} (i+k)

Проверьте код пожалуйста.

Pascal
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
// Вариант 1.Задача 1.
program rec1;
 
var
  n: integer;
  k: byte;
  a: byte;
 
procedure sum(n: integer; k: byte);
 
var
  i: integer;
 
begin
  if i<>n then 
  begin
    i:=1;
    a := a + (i + k);
    n:=n-1;
    sum(n,k);
  end else     writeln(a);;
end;
 
begin // Начало главной программы
  writeln('n=');
  read(n);
  writeln('k=');
  read(k);
  sum(n, k);
end.
Добавлено через 17 минут
Сам нашел ошибку. Я уменьшаю N, когда наоборот должен увеличивать i до того. пока она не станет равным n. Меняю условие программы, начинаю выполнять, и программа выдает ошибку переполнения стека. Идей нет. Помогите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2013, 21:02
Ответы с готовыми решениями:

Вычислить сумму не через рекурсию
Есть задача её нужно сделать двумя способами в одной и через функции(Function)...

Через рекурсию найти произведение элементов массива, равных заданному
нужно через рекурсию найти произведение элементов массива, равных заданном ...

нужно написать через рекурсию
Описать функцию, считывает первую букву, отличную от пробела, и объявляет ее...

Вычислить факториал через рекурсию
Нужно написать программу для вычисления факториала через рекурсию. Пытался...

Поиск чисел Фибоначчи через рекурсию
Описать рекурсивную функцию Fib2(N) целого типа, вычисляющую N-й элемент...

1
GggDrej
72 / 72 / 64
Регистрация: 21.01.2013
Сообщений: 147
11.02.2013, 21:16 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program rec1;
uses crt;
var
  n: integer;
  k: byte;
 
function summ(n: integer; k:byte):integer;
begin
  if n=1 then summ:=k+1 else
  summ:=summ(n-1,k)+n+k;
end;
 
begin
  write('n = ');
  readln(n);
  write('k = ');
  readln(k);
  write ('Summ = ',summ(n,k));
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2013, 21:16

Вычислите f (95) через рекурсию
Дана рекурсивная функция: function f(n: integer): integer; begin if n&gt;100...

Вычислить значения двух последовательностей через рекурсию
Пусть a1=u, b1=v, ai=2bi-1+ai-1, bi=2a2i-1+bi-1. Получите a2, a3, ..., an, b2,...

Переделать задачу,чтобы работала через рекурсию
Program z_19; uses crt; var m,n:integer; s:real; begin clrscr;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru