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

Найти сумму цифр значения заданной функции от заданного аргумента

12.02.2021, 21:00. Показов 3838. Ответов 6
Метки нет (Все метки)

Помогите, пж, решить задачу с помощью динамического программирования:
Алгоритм вычисления функций F(n) и G(n) задан следующими соотношениями:
F(n) = G(n) = 1 при n = 1
F(n) = F(n–1) – 2 · G(n–1), при n > 1
G(n) = F(n–1) + G(n–1) + n, при n > 1
Чему равна сумма цифр значения функции G(36)?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2021, 21:00
Ответы с готовыми решениями:

Задача о гвоздях. Динамическое программирование
Пусть имеется деревянная планка, параллельная оси Ох, в которую вбито N (N≤100) гвоздей....

Придумать 3 задачи на динамическое программирование и решить
Придумать 3 задачи на динамическое программирование и решить. Код.

Динамическое программирование задача "Калькулятор с восстановлением ответа" (Pascal ABC)
Всем привет. Пишу с проблемой о принятии моей задачи тестирующей программой. Сама задача: Имеется...

Динамическое программирование
Помогите найти длину возрастающей подпоследовательности(не непрерывной) методом ДП на паскале

6
1045 / 404 / 187
Регистрация: 23.03.2020
Сообщений: 981
Записей в блоге: 1
13.02.2021, 01:15 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var 
  f: array[1..36] of integer; 
  g: array[1..36] of integer; 
  n, sum: integer;
  s: string;
 
begin
  f[1] := 1;
  g[1] := 1;
 
  for n := 2 to 36 do
  begin
    F[n] := F[n-1] - 2 * G[n-1];
    G[n] := F[n-1] + G[n-1] + n
  end;
 
 s := inttostr(g[36]);
 for n := 1 to length(s) do
   sum += ord(s[n]) - ord('0');
 Writeln(sum);
end.
Добавлено через 1 час 5 минут
Pascal
1
2
3
4
5
6
7
8
begin
  var nn := 36;
  var (f, g) := (1, 1);
  for var n := 2 to nn do (f, g) := (F - 2 * G, F + G + n);
  var sum := 0;
  while g <> 0 do (g, sum) := (g div 10, sum + g mod 10);
  Writeln(sum);
end.
0
0 / 0 / 0
Регистрация: 12.02.2021
Сообщений: 36
13.02.2021, 08:38  [ТС] 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var 
  f: array[1..36] of integer; 
  g: array[1..36] of integer; 
  n, sum: integer;
  s: string;
 
begin
  f[1] := 1;
  g[1] := 1;
 
  for n := 2 to 36 do
  begin
    F[n] := F[n-1] - 2 * G[n-1];
    G[n] := F[n-1] + G[n-1] + n
  end;
 
 s := inttostr(g[36]);
 for n := 1 to length(s) do
 [B] [ sum += ord(s[n]) - ord('0');[/B]
 Writeln(sum);
end.[
В выделенной строке выдает "ожидалось присваивание :=", а если заменяю, то выдает 3, а должно быть 40!
0
1045 / 404 / 187
Регистрация: 23.03.2020
Сообщений: 981
Записей в блоге: 1
13.02.2021, 11:01 4
Pascal
19
 sum := sum + ord(s[n]) - ord('0');
1
0 / 0 / 0
Регистрация: 12.02.2021
Сообщений: 36
13.02.2021, 11:34  [ТС] 5
Все работает, респект! А без строковых типов не будет работать?
0
1045 / 404 / 187
Регистрация: 23.03.2020
Сообщений: 981
Записей в блоге: 1
13.02.2021, 11:49 6
5 строку удалить. После 16 строки заменить на
Pascal
17
18
19
20
21
22
23
24
  n := G[36];
  while n <> 0 do 
    begin
      sum  := sum + n mod 10;
      n := n div 10
    end;
  writeln(sum);    
end.
0
0 / 0 / 0
Регистрация: 12.02.2021
Сообщений: 36
15.02.2021, 10:43  [ТС] 7
Вы - просто прелесть!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2021, 10:43
Помогаю со студенческими работами здесь

Динамическое программирование
скиньте пожалуйста 2 задачи на тему Динамическое программирование

Динамическое программирование
На вершине лесенки, содержащей N ступенек, находится мячик, который начинает прыгать по ним вниз, к...

Динамическое программирование
Здравствуйте , кому ни трудно помогите не с простой задачкой . Задача сделана по предмету...

Динамическое программирование на паскале.
Прошу помочь с динамическим программированием в паскале. К сожалению нашему классу не рассказывал...

Задача на динамическое программирование
Вы любите играть в игры? Конечно, любите! Но про эту игру, возможно, ничего не знаете и не слышали...

Динамическое программирование. Stack
Начал основывать динамику и начал со стэка, нужна помощь запуска программы. Вот процедуры и...


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

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

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