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

Запишите в соответствии с правилами языка паскаль следующие выражения : 6 a + 15 ab -13b, (a+b)(a-b),

👇
Ответ:
maximbond04
maximbond04
24.04.2021
Program 1rst;
uses Crt;
var a,b,output1,output2:real;
begin
write('Введите а= ');Readln(a);
write('Введите b= ');Readln(b);
output1:=6*a+15*b-13*b;
output2:=(a+b)*(a-b);
writeln(output1:5:2,output:8:2);
readln;
end.
4,4(64 оценок)
Открыть все ответы
Ответ:
1) Решение методом рекурсии.
Программа проста в понимании, но неэффективна при больших значениях
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.

2) Решение методом динамического программирования. Намного быстрее метода с рекурсией.
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.

3) Решение методом моделирования. Использует меньше памяти.
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.
4,8(85 оценок)
Ответ:
AmitJK
AmitJK
24.04.2021
// PascalABC.NET 3.0, сборка 1128
var
  i,j,k,n,p:longint;
  f:array[1..10,1..2] of longint;
begin
  p:=2; i:=1;
  f[1,1]:=1; f[1,2]:=1;
  Write('Введите натуральное число не больше 2 147 483 647: ');
  Read(n);
  while n<>1 do begin
    if (n mod p)=0 then begin
      if f[i,1]<>p then
      begin Inc(i); f[i,1]:=p; f[i,2]:=1 end
      else Inc(f[i,2]);
      n:=n div p
    end
    else inc(p)
  end;
  k:=i;
  for i:=2 to k do
    for j:=1 to f[i,2] do Write(f[i,1],' ');
  Writeln
end.

Тестовое решение:
Введите натуральное число не больше 2 147 483 647: 37534
2 7 7 383
4,4(97 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ