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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2019, 19:45   #1
dasha13
Пользователь
 
Регистрация: 22.04.2019
Сообщений: 19
По умолчанию решите пожалуйста, вот что успела написать, задачу надо решить с рекурсией и без неё, заранее спасибо

V3_G-TkJvsY (1).jpg
Код:
program Projectrec;

{$APPTYPE CONSOLE}

uses
SysUtils;
  var i,m,a,c,sum,G:integer;
function f(const m,a,c:integer): integer;
 var g: integer;
begin
  if m < 10 then
  exit(m);
  g:= (a * (m + c)) mod 10; // 0...9
  result:= m + g * f(m - 1 - g,a,c);
end;
begin
readln(m);
readln(a);
readln(c);
 i:=m;

 writeln(f(m,a,c));
 sum:=0;
repeat
   g:= (a * (m + c)) mod 10; // 0...9
  sum:= sum + m + g + g;
  m:= m + g;
until m > i;
writeln(sum);
  readln;
end.
dasha13 вне форума Ответить с цитированием
Старый 23.04.2019, 21:57   #2
mihаli4
никакой
Пользователь
 
Аватар для mihаli4
 
Регистрация: 21.05.2018
Сообщений: 36
По умолчанию

Хм-м-м... Раздел "Компоненты Delphi"...
А где в задании хоть слово про "Компоненты Дельфи"???
mihаli4 на форуме Ответить с цитированием
Старый 24.04.2019, 09:16   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от mihаli4 Посмотреть сообщение
Хм-м-м... Раздел "Компоненты Delphi"...
вжух и тему перенесли...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.04.2019, 10:29   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Да рази дело - в названии раздела? Человеку рекурсивную процедуру намулюкать нужно. Мне - лень.
digitalis вне форума Ответить с цитированием
Старый 24.04.2019, 11:55   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Человеку рекурсивную процедуру намулюкать нужно
если Вы посмотрите в код, то увидите, что рекурсивная процедура f уже написана.
только с ошибками.

вот так будет правильно:

Код:
program Projectrec;

{$APPTYPE CONSOLE}

uses SysUtils;
function f(const m,a,c:integer): integer;
 var gm: integer;
begin
  if m < 10 then Result := m
  else begin
    gm:= (a * (m + c)) mod 10; // 0...9
    WriteLn('*debug g(m) = ',gm,' f(',m - 1 - gm,')');
    result:= gm * f(m - 1 - gm,a,c);
  end;
end;

var m,a,c,rFunc,g:integer;
begin
{readln(a);
readln(c);
readln(m);}
a := 3;
c := 17;
m := 22;

 writeln('Recursion f(',m,')=', f(m,a,c));

 rFunc:=1;
 repeat
   g:= (a * (m + c)) mod 10; // 0...9
   if m > 9 then begin
      rFunc := rFunc * g;
      m := m - 1 - g
   end
   else begin
      rFunc := rFunc * m;
      m := 0
   end;
 until m=0;
 writeln('Non recursive f = ',rFunc);
 readln;
end.

Последний раз редактировалось Serge_Bliznykov; 24.04.2019 в 13:01.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решите задачу на паскале 10 класс!!пожалуйста ! Заранее спасибо Роял Паскаль, Turbo Pascal, PascalABC.NET 1 18.03.2015 21:58
Надо решить в Паскале , Заранее спасибо ))) Alexxxxxx Помощь студентам 7 22.10.2011 23:29
помогите пожалуйста решить 2 задачи,заранее спасибо Анютка...... Паскаль, Turbo Pascal, PascalABC.NET 0 24.11.2008 11:21
Помогите пожалуйста решить одну задачку в Паскале...Заранее спасибо VisTBacK Помощь студентам 2 29.09.2008 14:57