Показать сообщение отдельно
Старый 30.04.2004, 11:27     # 27
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Programmer
Цитата:
Твоё решение не эффективное. Если бы ты так ответил на интервью - хрен бы тебя взяли на работу.
Не эффективное - признаю. Немного подумав вечерком, придумал тоже что и BRULIK, т.е. на этот раз меня опередили.
f00rd
Цитата:
В каком ты там вузе?
Воронежский Гос. Пед. Университет. Кафедра Информатики.
Оригинальное решение, но можно проще:
Код:
uses
  crt;
var
  n, m, p, k: byte;
  s, d:       string;
begin
  repeat
    clrscr;
    write ('n = '); readln (n);
    repeat
      write ('m = '); readln (m);
      if m = 0 then writeln ('error: m = 0!');
    until m > 0;
    k := n mod m;
    s := '';
    d := '';
    p := 255;
    while (p >= length(s)) and (k <> 0) do
      if pos(chr(k), d) <> 0 then begin
        p := pos(chr(k), d);
        s := Copy(s,1,p-1) + '(' + Copy(s,p,length(s)) + ')';
      end
      else begin
        s := s + chr (48 + ((10 * k) div m));
        d := d + chr (k);
        k := (10 * k) mod m;
      end;
    writeln ('n/m = ' , n div m, ',',s);
    writeln ('press ESC for exit..');
  until readkey = #27;
end.
Programmer
Цитата:
А рекурсией слабо лист развернуть ?
Не слабо. Люблю рекурсию. Только если задача элементарно решается без нее, то я ее стараюсь и не использовать.
А слабо выполнить эту же задачу в Прологе?
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума