Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2010, 13:31   #1
LegionuS
Пользователь
 
Регистрация: 28.09.2010
Сообщений: 16
По умолчанию Рекурсия

Цель работы: Выполнить необходимую обработку, при этом описать рекурсивную процедуру или функцию, исходя из условия задачи. Исходные данные задать самостоятельно, учитывая специфику задачи.

Задача: Дано натуральное число п. Вычислить: 1 2 + 2 3 4 + … + n (n + 1) … 2n.
LegionuS вне форума Ответить с цитированием
Старый 29.09.2010, 13:39   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
n (n + 1)
Умножение подразумевается?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.09.2010, 14:37   #3
LegionuS
Пользователь
 
Регистрация: 28.09.2010
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Умножение подразумевается?
ну естественно!
LegionuS вне форума Ответить с цитированием
Старый 29.09.2010, 15:23   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
  const n=10;
  function Result(i:integer):integer;
  begin
   if i<2*n then Result:=i*(i+1)+ok(i+1);
  end;
begin
 writeln(Result(1));readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
Учитывая что это паскаль как-то так.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.09.2010, 15:31   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
ну естественно!
ну, раз естественно, так получите ещё один вариант.
естественно, на Паскале:
Код:
function MyRecursiveMulti(M0, M : longint) : longint;
begin
  if M=M0 then MyRecursiveMulti := M0
  else MyRecursiveMulti := M * MyRecursiveMulti(M0, M-1)
end;


function MyRecursiveSum(K : longint) : longint;
var MultiPrev : Longint;
begin
  MultiPrev := MyRecursiveMulti(K, 2*K);
  if K=1 then MyRecursiveSum := MultiPrev
  else MyRecursiveSum := MultiPrev + MyRecursiveSum(K-1)
end;   


var
  N : longint;
begin
  WriteLn('Введите N');
  Readln(N);
  WriteLn('Результат ряда = ',MyRecursiveSum(N));
  readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсия на С++ Nitriyc Помощь студентам 0 29.04.2010 07:29
Рекурсия на С++ Nitriyc Помощь студентам 0 28.04.2010 17:22
Рекурсия Jasper92 Помощь студентам 1 27.04.2010 16:58
Рекурсия Alexsey1991 Помощь студентам 1 13.04.2010 21:19
Рекурсия seeton Помощь студентам 0 08.12.2009 17:41