041208katy
03.06.2021 16:40

Лицензионные программные продукты? Операционная система Windows ХР
Star Office
пакет офисных приложений Microsoft Office
антивирус Касперского
Adobe Photoshop
антивирус Dr. Web
операционная система Linux
операционная система Windows Vista
Adobe Premier

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
kristka98
13.01.2020 23:22

program znanija_com_task_32583491;

var proizv:real;

   i:integer;

function y(a:integer):real;

        begin

             y:=(2*a+7)/(3*a-2)

        end; {function y}

begin

    proizv:=y(6)*y(7);

    for i:=7 to 18 do

    begin

         proizv:=proizv*y(i);

    end; {for i}

    write('proizvedenie mnozhestva znachenij funkcii y = ',proizv)

end.

{

Как я понял задание, во-первых, функция это дробь с числителем 2a+7, а знаменатель 3а-2. Если всё-таки дробный коэффициент перед вторым слагаемым это легко меняется в теле функции.

Также, мне кажется, что счетчик цикла 7..18 - это 1. То есть, только функция от натурального аргуента. В принципе тоже легко меняется уже в главной программе.

А дальше уже произведение рассчет самого главного: y(6) * y(7) * y(7) * y(8) * ... * y(16).

}

0,0(0 оценок)
Ответ:
Helen609
30.07.2020 13:41
Var
  n, k, d2, d1, d0: integer;
  e2, e1, e0: integer;

procedure GetDigits(m: integer; var d2, d1, d0: integer);
{Перевод числа [100..FFF]в 16-ю систему счисления}
begin
  d0 := m mod 16;
  m := m div 16;
  d1 := m mod 16;
  d2 := m div 16
end;

begin
  n := 0;
  {Рассматриваем шестнадцатиричные числа от 100 до 7FF}
  for k := $100 to $7FF do
  begin
    GetDigits(k, d2, d1, d0);
    if (d2 = 2) or (d1 = 2) or (d0 = 2) then
    begin
      GetDigits(2 * k, e2, e1, e0);
      if d0 + d1 + d2 = e0 + e1 + e2 then n := n + 1
    end
  end;
  writeln('n=', n)
end.

Тестовое решение:

n=23
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота