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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2013, 13:05   #1
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
Восклицание нужна помошь

как сократить этот код?
Код:
var
  i, n, d: word;
  begin
  read(n);
  if (n=3) then begin write(1); end;
    if (n=8) or (n=6) then begin write(n); end;
  for i := 1 to n do begin
    read(d);
    if (n>8) and (d=1) then begin write(2027025324); halt(0); end;
    if (n>8) and (d=6) then begin write(6081); halt(0); end;
    end;
end.
пока минимум это 223 символа помогите сократить
kostan3 вне форума Ответить с цитированием
Старый 17.02.2013, 13:21   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,323
По умолчанию

Код:
var
  i, n, d: word;
begin
  read(n);
  if n = 3 then write(1);
  if (n=8) or (n=6) then write(n);
  for i := 1 to n do begin
    read(d);
    if (n>8) and (d=1) then begin write(2027025324); halt(0); end;
    if (n>8) and (d=6) then begin write(6081); halt(0); end;
  end;
end.
Это первое, что можно сделать, не задумываясь.
Пытаетесь попасть в топ по длине кода?)
Можно попробовать переписать на другой язык.
Да и без самой задачи трудновато придумать оптимизации.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 17.02.2013, 13:23   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
var
  i, n, d: word;
begin
  read(n);
  if n=3 then write(1);
    if n in [6,8] then write(n);
  for i := 1 to n do begin
    read(d);
    if n>8 then  begin
       case d of
          1 : Write(2027025324);
          6 : Write(6081) 
       end;
       Halt
     end
    end
end.
Poma][a вне форума Ответить с цитированием
Старый 17.02.2013, 13:45   #4
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

а ещё короче можно
kostan3 вне форума Ответить с цитированием
Старый 17.02.2013, 13:51   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Это вопрос? Или утверждение?
Poma][a вне форума Ответить с цитированием
Старый 17.02.2013, 14:04   #6
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

вопрос!!!!!!!!!!!
kostan3 вне форума Ответить с цитированием
Старый 17.02.2013, 14:07   #7
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

вот задача http://www.acmp.ru/?main=task&id_task=571
kostan3 вне форума Ответить с цитированием
Старый 17.02.2013, 14:25   #8
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
var
  i, n, d: word;
begin
  reset (input, 'input.txt');
  rewrite (output, 'output.txt');

  read(n);
  for i := 1 to n do begin
    read(d);
    if n>8 then  begin
       case d of
          1 : Write(2027025324);
          6 : Write(6081)
       end;
       Halt
     end
    end;
    write(ord(n=3)+(ord(n in [6,8])*n));
end.
Меньше - навряд ли..

Код:
var
  i, n, d: word;
begin
  reset (input, 'input.txt');
  rewrite (output, 'output.txt');

  read(n);
  for i := 1 to n do begin
    read(d);
    if n>8 then  begin
        Write(ord(d=1)*2027025324+ord(d=6)*6081);
        Halt
     end
    end;
    write(ord(n=3)+(ord(n in [6,8])*n));
end.
На 3 символа меньше

Последний раз редактировалось Poma][a; 17.02.2013 в 14:27.
Poma][a вне форума Ответить с цитированием
Старый 17.02.2013, 14:29   #9
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

ты монстр!!!!!!!
kostan3 вне форума Ответить с цитированием
Старый 17.02.2013, 14:31   #10
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

А не откроете ли секрет : Как Вы убираете 1 символ из моего кода?
Poma][a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помошь mmm5on Компоненты Delphi 11 03.11.2012 23:24
Нужна помошь. yahoo JavaScript, Ajax 1 19.12.2010 21:41
нужна помошь за $ o-la-la Фриланс 1 02.10.2009 15:08