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

Петя сидит на уроке и пишет в блокноте разные четвёрки чисел: или произвольные, или длины двух стороны прямоугольника, его площадь и периметр (только в таком порядке). Даны четыре числа. Проверь, могут ли они описывать прямоугольник. Если да, выведи "прямоугольник", если нет — "произвольные числа".

Ввод Вывод
2
3
6
10 прямоугольник
2
3
10
6 произвольные числа

Примечание: площадь прямоугольника со сторонами a и b равна a × b, периметр — 2 × (a + b).
Площадь прямоугольника со сторонами 2 и 3 — это 6, а периметр — 10. Так как Петя записывает свои четвёрки в определённом порядке, числа 2, 3, 6, 10 описывают прямоугольник, а 2, 3, 10, 6 Петя написал случайно.

👇
Открыть все ответы
Ответ:
hamsterizumkin
hamsterizumkin
24.10.2020
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var lvl:=0;
  var s:= '';
  var predE:=false;
  foreach var c in s do
    if c='E' then begin
      if predE then begin predE:=false; lvl+=1 end
      else predE:=true
      end
    else
      if c='B' then begin predE:=false; lvl+=1 end;
  Writeln(lvl,' level')
end.

Результат выполнения программы
63 level

И второй вариант, "как не учат в школе":

// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var s:= '';
  Writeln(Regex.Matches(s,'E[EB]|B').Count,' Level')
end.

Результат выполнения аналогичный.
4,7(99 оценок)
Ответ:
milanakpoplove
milanakpoplove
24.10.2020
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var lvl:=0;
  var s:= '';
  var predE:=false;
  foreach var c in s do
    if c='E' then begin
      if predE then begin predE:=false; lvl+=1 end
      else predE:=true
      end
    else
      if c='B' then begin predE:=false; lvl+=1 end;
  Writeln(lvl,' level')
end.

Результат выполнения программы
63 level

И второй вариант, "как не учат в школе":

// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var s:= '';
  Writeln(Regex.Matches(s,'E[EB]|B').Count,' Level')
end.

Результат выполнения аналогичный.
4,6(73 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ