Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2008, 14:45   #1
ketrinlt
Новичок
Джуниор
 
Регистрация: 07.09.2008
Сообщений: 1
По умолчанию ПАСКАЛЬ - примитивная задача, помогите

Здравствуйте! Помогите пожалуйста решить паскаль задачу для 11 класса.

С экрана читается количество спичек. Нужно узнать длины сторон прямоугольника наибольшей площади, который можно составить из этих спичек.
ketrinlt вне форума Ответить с цитированием
Старый 07.09.2008, 15:22   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Наибольшую площадь при равных периметрах имеет квадрат. Поэтому чем ближе к квадрату прямоугольник, тем площадь его больше. Поэтому
x:=n div 4;
y:=(n - (n mod 4) - 2*x) div 2;
Вроде так. Естественно при n<4 решений нет.
puporev вне форума Ответить с цитированием
Старый 07.09.2008, 17:35   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вообще-то решать надо не так. Мы то знаем, что я написал, а компьютер и преподаватель не знают. Поэтому приведенное выше утверждение нужно доказать, поэтому код будет такой:
Код:
uses crt;
var n,i,j,a,b,max,s:integer;
begin
clrscr;
write('n=');readln(n);
max:=0;
for i:=1 to n div 4 do
   begin
    j:=(n-2*i) div 2;
    s:=i*j;
    if s>max then
      begin
       max:=s;
       a:=i;
       b:=j;
      end;
  end;
writeln('a=',a,'  b=',b);
readln
end.
puporev вне форума Ответить с цитированием
Старый 07.09.2008, 19:04   #4
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Чтото непонятно както комрад puporev делает... (я, например, не понял)...

1. У пользователя идёт запрос кол-ва спичек.
2. Надо както указать их длинны.. иначе никак. В условии от пользователя длины не ждут, значит они указываются программой... Random.
3. Для построения прямоугольника нужно отобрать 4 спички так, что по длине были пары. Тоесть по 2 одинаковых спички. Причём отбирать надо самые длиные пары.
4. Если таких пар нет, то задача нерешиться.
5. Найдя пары самых длиных спичек высчитываем длину.

Поэтому напрашивается последовательность:
1. Упорядочить спички по длинам.
2. Удалять если одинаковых спичек по длине больше 3 в списке.
3. Сделать расчёт площади.

Я думаю надо сделать массив....
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 07.09.2008, 19:07   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
2. Надо както указать их длинны.. иначе никак. В условии от пользователя длины не ждут, значит они указываются программой... Random.
Все спички одинаковой длины (загляните в коробок), длина стороны измеряется в спичках, единица измерения такая, вроде попугаев.
puporev вне форума Ответить с цитированием
Старый 07.09.2008, 19:21   #6
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

ага, понял
Просто криво условие прочитал...
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПАСКАЛЬ задача gotex Помощь студентам 3 04.06.2008 21:08
Помогите решить: задача на записи (Паскаль) mpegable Помощь студентам 1 25.05.2008 17:44
Сеть в delphi(примитивная задача) frodo Работа с сетью в Delphi 3 29.04.2008 19:07
Задача Паскаль help plz menlo Помощь студентам 1 15.12.2007 17:40
Задача с матрицей, Паскаль Integra Помощь студентам 1 25.04.2007 16:14