Если здесь надо дать ответ, только из предложенных вариантов, то верным будет ответ - 4) С:\учёба\математика\2013\Расписание
1*2^6+1*2^5+1*2^4+0*2^3+1*2^2+1*2^1+0*2^0<span> = 64+32+16+0+4+2+0 = 118</span>
<u>1) Решение методом рекурсии.</u>
<u>Программа проста в понимании, но неэффективна при больших значениях
</u>var
n: integer;
function f(i: integer): longint;
begin
if i < 2 then
f := 1
else
f := f(i - 1) + f(i - 2);
end;
begin
read(n);
writeln(f(n));
end.
<u>2) Решение методом динамического программирования. Намного быстрее метода с рекурсией.</u><u></u>
var
i, n: integer;
f: array[0..50] of longint;
begin
read(n);
f[0] := 1;
f[1] := 1;
for i := 2 to n do
f[i] := f[i - 1] + f[i - 2];
writeln(f[n]);
end.
<u>3) Решение методом моделирования. Использует меньше памяти.
</u>var
n, a, b, i: integer;
begin
read(n);
if n < 2 then
a := 1
else
begin
a := 0;
b := 1;
for i := 0 to n do
begin
b := a + b;
a := b - a;
end;
end;
writeln(a);
end.
Сначала определяем количество логических переменных в выражении. Их три: A, B, C. Значения истинности каждой из переменных - это 0 или 1. Так как переменных три, то разных значений истинности они вместе могут принимать 8, т.к. 2³ = 8. В таблице истинности будет 8 строк со значениями.
Теперь считаем количество логических операций и определяем их приоритет. Сначала выполняем операции в скобках в такой последовательности: ¬ (НЕ, отрицание, инверсия); &, ∧ (И, логическое умножение, конъюнкция), ∨ (ИЛИ, логическое сложение, дизъюнкция). В выражении 4 операции. Столбцов в таблице истинности будет: 3 + 4 = 7.