М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
nevmer
nevmer
01.01.2022 23:20 •  Информатика

Алгоритм вычисления значения функции f(n), где n – натуральное число, задан следующими соотношениями: f(0) = 1, f(1) = 1 f(n) = f(n–1)*f(n-2)+2, при n > 1 чему равно значение функции f(5)? в ответе запишите только целое число.

👇
Ответ:
TOPTopTOP1vvv
TOPTopTOP1vvv
01.01.2022
1. Ручная прокрутка алгоритма

F₀ = 1; F₁ = 1;
F₂ = F₁×F₀+2 = 1×1+2=1+2 = 3;
F₃ = F₂×F₁+2 = 3×1+2 = 3+2 = 5;
F₄ = F₃×F₂+2 = 5×3+2 = 15+2 = 17;
F₅ = F₄×F₃+2 = 17×5+2 = 85+2 = 87

ответ: 87

2. Программное решение с использованием итерации

// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var f:array[0..5] of integer;
  f[0]:=1; f[1]:=1;
  for var i:=2 to 5 do f[i]:=f[i-1]*f[i-2]+2;
  Writeln(f[5])
end.

Результат выполнения программы
87

3. Программное решение с использованием рекурсии

// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
function f(n:integer):integer;
begin
  if n<2 then Result:=1
  else Result:=f(n-1)*f(n-2)+2
end;

begin
  Writeln(f(5))
end.

Результат выполнения программы
87
4,8(10 оценок)
Открыть все ответы
Ответ:
artumko04
artumko04
01.01.2022

1) полная таблица истинности каждого выражения с пятью переменными содержит 2^5 = 32 строки;

2) в каждой таблице содержится по 4 единицы и по 28 нулей, ( то есть 32-4);

3) выражение a v - b равно нулю тогда, когда a = 0 или b = 1;

4) min количество единиц в таблице истинности выражения a v - b будет тогда, когда там будет наибольшее число нулей, то есть в max количество строк одновременно a = 0 и b = 1;

5) по условию a = 0 в 28 строках, и b = 1 в 4 строках, поэтому выражение a v - b может быть равно нулю не более чем в 4 строках, а оставшиеся 32 – 4 = 28 могут быть равны 1.

ответ: 28.

4,5(30 оценок)
Ответ:
bilainфом
bilainфом
01.01.2022
//Pascal
  var a,b, I, maxsumm, max : integer;
 
  function summdel(x:integer):integer; //результат - сумма делителей х
  var k,sum:integer;
  begin
    sum:=0;
    for k := 1 to x div 2 + 1 do
      if x mod k = 0 then sum:= sum+k;
    summdel:=sum;
  end;
 
  begin
   writeln('Введите границы a,b ');
   readln(a,b);
    maxsumm := 1;
    max := 1;
    for i := a to b do
     begin
        if summdel(i) > maxsumm then
          begin maxsumm:= summdel(i);
            max := i;
          end;
     end;
     writeLn('Максимальная сумма делителей - ', maxsumm, ' число - ',max)
  end.
4,4(44 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ