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

Не так давно Савелий переехал в новый район и теперь живёт в многоэтажном доме на этаже N. В доме Савелия три лифта. Лифт «A» и лифт «C» – грузопассажирские (рассчитаны на 8 человек), а лифт «B» – пассажирский (рассчитан на 4 человека). В первые месяцы жизни в новом доме Савелий выяснил, что лифты работают по следующим правилам:

В первую очередь приезжает ближайший лифт, при этом неважно, находится он выше или ниже нужного этажа.

Если есть лифты, находящиеся на одинаковом расстоянии от нужного этажа и среди них есть пассажирский лифт, то предпочтение отдаётся ему.

Если есть два грузовых лифта, находящиеся на одинаковом расстоянии выше и ниже нужного этажа, то приезжает лифт, находящийся выше.

При прочих равных условиях предпочтение отдаётся лифту «A».

Правила применяются строго в указанном порядке.

Савелий вышел из квартиры и вызвал лифт, чтобы спуститься на первый этаж. Известно, на каких этажах находятся лифты «A», «B» и «С». Необходимо определить, какой именно лифт приедет на этаж Савелия.

Формат ввода:

На отдельных строках вводятся 4 числа – N (этаж, на котором живёт Савелий), A (этаж, на котором находится лифт «A»), B (этаж, на котором находится лифт «B»), C (этаж, на котором находится лифт «C»).

Все числа натуральные и не превышают 100.

Формат вывода:

Необходимо вывести один из латинских символов «A», «B» или «C» – обозначение лифта, который приедет на этаж Савелия.

Программу написать на языке ABCpascal)

👇
Открыть все ответы
Ответ:
ОляRu
ОляRu
22.05.2021
Var n,m,osn: integer;
function nmbdec(var n,osn: integer): integer;
var nmb,l,s,k: integer;
begin
  nmb:=0;  s:=0;
  k:=n;  l:=1;
  while k>0 do
  begin
    s:=k mod 10;
    k:=k div 10;
    nmb:=nmb+l*s;
    l:=l*osn;
  end;
  Result:=nmb;
end;
{ конец функции}
begin
  write('число:  ');
  readln(n);
  write('квадрат какого числа:  ');
  readln(m);
  osn:=10;
  while osn>=2 do
  begin
     osn:=osn-1;
    if nmbdec(n,osn)=sqr(nmbdec(m,osn)) then
    begin
      writeln('основание системы = ',osn);
      break;
    end;
  end;
end.
4,4(5 оценок)
Ответ:
SandruhA
SandruhA
22.05.2021
Var
i,j,k:longint;
    begin
         for i:=1 to 1000 do
              for j:=1 to 1000 do       
                   for k:=1 to 10000 do             
                      if sqr(i)+sqr(j)=sqr(K)then               
                           begin                 
                                writeln(i,' ',j,' ',k);  {вывожу все тройки, можно убрать}             
                                     if i+j+k=1000 then                 
                                          begin                 
                                               writeln('! ',i,' ',j,' ',k);  {нужная тройка}                
                                                exit; {прерывание программы}                
                                          end;               
                           end;   
     end.


Существуют тройки пифагора, то есть a^2+b^2=c^2 . есть лишь одна такая тройка, что a+b+c=1000 . напи
4,5(2 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ