Задача про спички - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Петя Пяточкин часто любил составлять различные фигуры из спичек. Он высыпал на стол некоторое количество спичек и, перемещая их, строил всевозможные причудливые изображения. Однажды он решил построить из заданного набора целых спичек прямоугольник максимальной площади. Требования к программе: Программа должна считывать входные данные с файла INPUT.DAT. В первой строке этого файла содержится одно целое число N - количество спичек единичной длины на столе (1 ≤ N ≤ 10000). Результат выполнения программы должен записываться в выходной файл OUTPUT.REZ. В первой строке этого файла выводится два целых числа, разделенных пробелом: первое - это максимальная площадь прямоугольника, построенного из спичек, второе - это количество спичек, не использованные при построении. Вот накидал код, файлы в папке с программой, но не проходит олимпиадные тесты, что делать?

Решение задачи: «Задача про спички»

textual
Листинг программы
var
   n,i,s:integer;
begin
    readln(n);
    i:=1; s:=0;
    while i<=(n div 4) do begin
      if i*((n-2*i)div 2)>s then s:=i*((n-2*i)div 2);
      i:=i+1;
    end;
    writeln(s,' ',(n-2*i)mod 2);
end.

Объяснение кода листинга программы

  1. В начале кода объявляются три переменные: n, i, s типа integer (целое число).
  2. Переменная n инициализируется значением, которое считывается с помощью функции readln().
  3. Переменная i инициализируется значением 1.
  4. Переменная s инициализируется значением 0.
  5. Запускается цикл while, который выполняется до тех пор, пока i меньше или равно n, разделенному на 4.
  6. Внутри цикла проверяется, является ли текущее значение i больше, чем s. Если это так, то s обновляется значением i.
  7. Значение i увеличивается на 1.
  8. По завершении цикла, выводится значение s и (n-2*i)mod 2. Список действий:
  9. Считывание значения n.
  10. Инициализация i и s.
  11. Начало цикла while.
  12. Проверка условия и обновление s.
  13. Увеличение i.
  14. Вывод s и (n-2*i)mod 2.
  15. Окончание цикла while.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы