В n будем хранить количество чисел, которые ещё нужно вывести. a и b - предыдущее и текущее числа Фибоначчи. По определению, следующее число Фибоначчи равно сумме двух предыдущих, так что новое значение b будет a + b. Чтобы не заводить новую временную переменную, новое значение a можно будет найти, вычитая из нового b старое a, получится (a + b) - a = b.
Код процедуры:
procedure print_fib(n: integer);
var a, b, t: integer;
begin
a := 0;
b := 1;
while n > 0 do
begin
write(b, ' ');
b := a + b;
a := b - a;
n := n - 1;
end;
end;
Пример основной программы:
begin
print_fib(10)
end.
Вывод:
1 1 2 3 5 8 13 21 34 55
ответ: 150
a = ((35 - 5) / 6) * (28 + ((35 - 5)/6) -3) = 5 * (25 + 5) = 150Задание 2:ответ: a=9, b=86
b = ((7 * 11 + 4) div 10) + 6 = (81 div 10) + 6 = 86a = (86 mod 10) + 3 = 6 + 3 = 9Задание 3:ответ: 12
a = 15 - 6 * 2 = 33>15 ? нет => c = 15 - 3 = 12Задание 4:ответ: 173
for k:=7 to 14 do s:=s+2*ks = 5 + 2*(7+8+9+10+11+12+13+14) = 173Задание 5А:НачалоВвод a, ba>b ?если да, то Вывод b*2если нет, то Вывод a*2КонецЗадание 5Б:var a, b: integer;begin readln(a,b); if a>b then writeln(b*2) else writeln(a*2);end.
N = 3
if N > 0:
N *= 2
else:
N -= 2
print(N)