Конференция "Прочее" » Все комбинации
 
  • viper (24.10.08 10:58) [0]
    Здравствуйте!
    Помогите, не могу понять, какой алгоритм позволит решить следующую задачу:
    есть последовательность из букв, к примеру, от A до F. Необходимо вывести все возможные комбинации этих букв, от просто A до FFFFFF включительно.
  • Ega23 © (24.10.08 11:01) [1]

    > Необходимо вывести все возможные комбинации этих букв


    Так, каким образом поставлена задача - невозможно. Их бесконечное количество.
  • tesseract © (24.10.08 11:03) [2]

    > Так, каким образом поставлена задача - невозможно. Их бесконечное
    > количество.


    основание системы  в степени позиций т.е в данном случае 6^6.
  • viper (24.10.08 11:03) [3]
    Не ясно, что не так в моей постановке задачи, но количество отнюдь не бесконечно:
    A
    B
    C
    ...
    F
    AA
    AB
    ...
    AF
    ...
    AAAAAA
    ...
    FFFFFF
  • viper (24.10.08 11:04) [4]
    Извиняюсь, FF на месте AF.
  • viper (24.10.08 11:08) [5]
    То есть поясните, пожалуйста, как получить необходимые комбинации?
  • viper (24.10.08 11:18) [6]
    Неужели никто не может помочь?
  • Сергей М. © (24.10.08 11:22) [7]
    Чем же тебе помочь, убогий ?
    Программу что ли за тебя написать ?
  • boriskb © (24.10.08 11:24) [8]
    Стоит всё же крепко задуматься:
    чего же больше от таких форумов - вреда или пользы?
  • brother © (24.10.08 11:26) [9]
    держи

    procedure TForm1.Button1Click(Sender: TObject);
    var a,b,c,d,e,f:integer;
       res:string;
    begin
       
    for a:=64 to 70 do
         for b:=64 to 70 do
          for c:=64 to 70 do
           for d:=64 to 70 do
            for e:=64 to 70 do
             for f:=64 to 70 do
             begin
               res:='';
               if a<>64 then res:=chr(a);
               if b<>64 then res:=res+chr(b);
               if c<>64 then res:=res+chr(c);
               if d<>64 then res:=res+chr(d);
               if e<>64 then res:=res+chr(e);
               if f<>64 then res:=res+chr(f);

               memo1.Lines.Add(res);
             end;
    end;

    оно?
    зы не спрашивай почему с 64, а не с 65...)
  • viper (24.10.08 11:28) [10]
    Простите, за что такие оскорбления? Я начинающий студент и не могу взять в толк АЛГОРИТМ перебора всех таких комбинаций. Если можете помочь с ним, то я сам напишу программу. Или хотя бы подскажите, в какую сторону двигаться. Я же вас не оскорблял.
  • viper (24.10.08 11:29) [11]
    brother, код не оптимален, очевидно же.
  • Ega23 © (24.10.08 11:31) [12]

    > Я начинающий студент и не могу взять в толк АЛГОРИТМ перебора
    > всех таких комбинаций


    какой тут алгоритм? цикл - он и в Африке цикл.
    А если ты не можешь его придумать, то может стоит задуматься о смене профессии? Я серьёзно, без подколок.
    Студент на то и студент, чтобы самому эти вещи придумывать. Пусть коряво, пусть неоптимально. Но - САМ.
    Иначе грош тебе цена потом.
  • Ega23 © (24.10.08 11:32) [13]

    > brother, код не оптимален, очевидно же.


    Конечно, тут рекурсия нужна.
  • Правильный$Вася (24.10.08 11:33) [14]
    простейший - шесть вложенных циклов
  • brother © (24.10.08 11:34) [15]
    > brother, код не оптимален, очевидно же.

    не, вы посмотрите на него, ему код привели, он еще и фу говорит ;)! Господа, я умываю руки
    зы автор, я тебе идею дал, оптимизация - твое домашнее задание...
  • viper (24.10.08 11:35) [16]
    Я придумал точно то же, что написал brother, но это, повторюсь, неоптимально. На васме я нашел целую статью по инкременту пароля (поскольку рассудил, что задача моя имеет по принципу схожесть с брутфорсерами). Только вот нельзя ли сделать решение моей задачи проще? К чему такие нападки?
  • Правильный$Вася (24.10.08 11:36) [17]

    > Конечно, тут рекурсия нужна.

    это как раз в данном случае - излишне
    она нужна, когда не известен заранее уровень вложенности циклов
  • Ega23 © (24.10.08 11:37) [18]

    > Я придумал точно то же, что написал brother, но это, повторюсь,
    >  неоптимально.


    Уверен?
  • Правильный$Вася (24.10.08 11:37) [19]

    > нельзя ли сделать решение моей задачи проще?

    можно
    думай, пробуй
  • tesseract © (24.10.08 11:38) [20]

    > Конечно, тут рекурсия нужна.


    За такое в эцих.
  • viper (24.10.08 11:38) [21]
    Ега, уверен. Дело в том, что, как заметил Правильный Вася, уровень вложенности неизвестен (последовательность A до F я дал как пример).
  • Ega23 © (24.10.08 11:40) [22]

    > она нужна, когда не известен заранее уровень вложенности
    > циклов


    Ну если у него строго 6 элементов - то да, нафиг не нужна. Если произвольное - то нужна.
    А из вышеприведённого кода я бы chr выкинул и на константы заменил.
  • brother © (24.10.08 11:41) [23]
    я понимаю, пятница - день тяжелый, но чем код не оптимален? и нафиг цикл? условие перебора в строго проеделенных пределах выполняется, что еще надо?
  • viper (24.10.08 11:41) [24]
    Повторюсь, глубина вложенности неизвестна. Сейчас пытаюсь реализовать рекурсию.
  • Ega23 © (24.10.08 11:42) [25]

    > уровень вложенности неизвестен


    Собственно, я так и думал. Иначе какое это студенческое задание.
    viper, читай про рекурсию. Пробуй, пытайся. Если ты не способен самостоятельно это задание сделать - бросай эту профессию. Я серьёзно.
  • Сергей М. © (24.10.08 11:43) [26]

    > не могу взять в толк АЛГОРИТМ перебора всех таких комбинаций


    Алгоритм циклический.

    В цикле последовательно перебираются все числа в диапазоне от [0..N^N - 1], где N - основание выбранной системы счисления (в твоем случае = 6)

    Каждое из этих чисел для визуального представления кодируется поразрядно в соответствии с выбранной системой кодирования значений разряда (в твоем случае это коды символов от A до F)
  • brother © (24.10.08 11:43) [27]
    > Повторюсь, глубина вложенности неизвестна.

    а где это в задании сказано?
  • Ega23 © (24.10.08 11:44) [28]

    > но чем код не оптимален?


    Зачем мильён раз char(i) вызывать?
  • viper (24.10.08 11:47) [29]
    ега, не стоит так сразу. Я хочу ПОНЯТЬ.
  • brother © (24.10.08 11:48) [30]
    > char(i) вызывать

    ну если так ;) Мне нравится, что автону нужно не только реализовать программу, но еще и оптимально)
  • Наиль © (24.10.08 11:49) [31]
    Договоримся, что слева младший символ, справа старший.
    1. Задаём и выводим мимимальное значение комбинации
    2. Увеличиваем младший символ на 1
    3. Если он стал больше максимально доступного в разряде,
    то его сбрасываем на минимум и увеличиваем на 1 следующего по старшинству
    и применяем к ниму правило 3.
    4. Выводим результат.
    5. Если не достигнут максимум (FFFFFF), то возвращаемся 2.

    Два вложенных цикла и ни каких рекурсий.
  • viper (24.10.08 11:50) [32]
    Ега, объясните, как сделать рекурсию. Я НЕ могу разобраться.
  • Наиль © (24.10.08 11:51) [33]
    Перепутал - младший справа.
  • Сергей М. © (24.10.08 11:54) [34]
  • viper (24.10.08 11:55) [35]
    Мне не нужна информация по поводу СС.
  • Сергей М. © (24.10.08 12:02) [36]

    > Мне не нужна информация по поводу СС


    Это почему же ?
  • Ega23 © (24.10.08 12:04) [37]

    > Ега, объясните, как сделать рекурсию. Я НЕ могу разобраться.


    procedure TestRecurrence(const CurrLevel, MaxLevel : Integer);
    begin
     if CurrLevel>MaxLevel then Exit;
     ShowMessage('Current level : ' + IntToStr(CurrLevel));
     TestRecurrence(CurrLevel + 1, MaxLevel);
    end;



    Пример вызова:
    TestRecurrence(1, 6);

  • viper (24.10.08 12:04) [38]
    Да потому что я думаю о рекурсии. Не могу понять. Вот:

    const count=3;//для кобинации до С
    var
     Form1: TForm1;
     counter: integer;
    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    memo1.Lines.Clear;
    counter := 1;
    makecomb('');
    end;

    procedure TForm1.makecomb(s: string);
    var i:integer;
       res:string;
    begin
    for i := 64 to 67 do
    begin
      if i<>64 then
      begin
       res := res + chr(i);
      end;
      memo1.Lines.Add(res);
       inc(counter);
    if counter>3 then  exit;
    makecomb(res);
    end;
    end;



    это неверно. Как же сделать верно?
  • viper (24.10.08 12:05) [39]
    Ега, о общих принципах рекурсии я знаю. Только как ее применить здесь? Объясните, подтолкните мысль, будьте снисходительней.
  • Ega23 © (24.10.08 12:05) [40]
    А теперь попробуй так:

    procedure TestRecurrence(const CurrLevel, MaxLevel : Integer);
    begin
    if CurrLevel>MaxLevel then Exit;
    TestRecurrence(CurrLevel + 1, MaxLevel);
    ShowMessage('Current level : ' + IntToStr(CurrLevel));
    end;



    А потом подумай, почему такие разные результаты.
  • Сергей М. © (24.10.08 12:07) [41]

    > Да потому что я думаю о рекурсии


    А зачем ты о ней думаешь ?
    Она нафих не нужна в твоей задаче)
  • Ega23 © (24.10.08 12:08) [42]

    > Ега, о общих принципах рекурсии я знаю. Только как ее применить
    > здесь? Объясните, подтолкните мысль, будьте снисходительней.


    Я не буду. Не потому, что мне жалко. Мне не жалко. Просто иначе ты никогда этого не сделаешь. Нужно через это пройти самому, понимаешь?
    Считай это тестом для себя на свою проф.пригодность.
  • viper (24.10.08 12:10) [43]
    Ега, ну не могу я понять этого. Я все понимаю, но не нужно говорить об этой задаче, как о последней инстанции. Дай хотя бы одну подсказку.
  • Правильный$Вася (24.10.08 12:14) [44]

    > Дай хотя бы одну подсказку.

    тебе их дали, даже больше одной
    метла ждет тебя, ее программировать проще
  • viper (24.10.08 12:15) [45]
    Хватит издеваться.
    Дай подсказку по поводу рекурсии, не более.
  • brother © (24.10.08 12:15) [46]
    > Дай подсказку по поводу рекурсии, не более.

    рекруссия - вызов саого себя...
  • viper (24.10.08 12:17) [47]
    Ну да. Издевательство продолжается. Поставлю вопрос иначе: что ошибочного в моем коде?
  • Ega23 © (24.10.08 12:19) [48]

    > Поставлю вопрос иначе: что ошибочного в моем коде?


    inc(counter);


    > Ну да. Издевательство продолжается.


    Закройте ветку.
  • brother © (24.10.08 12:19) [49]
    читай [41] [42] [44] До полного просветвления...
  • viper (24.10.08 12:21) [50]
    Убирая inc, мы зацикливаем программу) Да, отличная шутка.

    brother, к сожалению, высоких материй я там не нашел.
  • Сергей М. © (24.10.08 12:21) [51]

    > viper   (24.10.08 12:17) [47]


    А как еще относиться к воинствующему чайнику  aka ламеру ?
  • brother © (24.10.08 12:23) [52]
    > Убирая inc, мы зацикливаем программу) Да, отличная шутка.

    да зацикливаем, потомучто твой инк и вызов самого себя находятся в теле for, понятно что к чему теперь?
  • viper (24.10.08 12:24) [53]
    Можно просто, по-человечески помочь. По-русски. Зачем показывать, что вы выше меня? Я и так прекрасно знаю свое место. Я лишь попросил помочь. Я не могу понять, как заменить циклы рекурсией. Поясните, пожалуйста. Разве это столь сложно?
  • viper (24.10.08 12:25) [54]
    brother, вынося inc и вызов рекурсии за пределы цикла, результат все равно неверен.
  • brother © (24.10.08 12:26) [55]
    > brother, вынося inc и вызов рекурсии за пределы цикла, результат
    > все равно неверен.

    программирование без понятия как работает программа - грех, напиши алгоритм работы программы на листочке, далее ВКУЛЮЧАЙ МОЗГ!
  • Сергей М. © (24.10.08 12:26) [56]

    > viper


    Никакая рекурсия не нужна.
    Два цикла - один генерирует последовательность чисел, другой (вложенный) кодирует каждое число по требуемым правилам.

    И всё !
    За каким лешим тут еще и рекурсия нужна ?
    Головой думай, а не причинным местом)
  • viper (24.10.08 12:27) [57]
    Сергей, какие правила кодирования? Откуда вы вообще взяли, что здесь должно быть кодирование???
  • brother © (24.10.08 12:28) [58]
    кодированием, Сергей называет преобразование получаемого числа в символы...
  • viper (24.10.08 12:30) [59]
    brother, алгоритм программы таков:
    1. Взяли необходимое число букв для комбинаций, пусть 3 буквы (от А до С)
    2. Берем первую букву
    3. Прибавляем ее к результату
    4. Выводим
    5. Увеличиваем счетчик цикла, берем вторую букву, р-т предварительно обнулив, показываем и т.д. до конца нашего мн-ва букв.
    6. Дойдя до конца мн-ва, то есть трех, снова начнем цикл. И вот тут-то я и не понимаю, как нужно двигаться дальше. Поясните!
  • viper (24.10.08 12:31) [60]
    brother - кодирование это взять chr от числа?
  • brother © (24.10.08 12:31) [61]
    > brother, алгоритм программы таков:

    это ты мне рассказываешь?
  • viper (24.10.08 12:33) [62]
    Я тебе его привел, чтобы ты просмотрел, буде у тебя возникнет все же желание помочь и ткнул носом в ошибки алгоритма.
  • viper (24.10.08 12:34) [63]
    Меня ткнул носом, ессно.
  • brother © (24.10.08 12:34) [64]
    > и ткнул носом в ошибки алгоритма.

    ого О_о
  • viper (24.10.08 12:35) [65]
    И все-таки...
  • viper (24.10.08 12:43) [66]
    brother, давай я напишу измененный текст процедуры, а ты посмотришь его? Пожалуйста.
  • brother © (24.10.08 12:46) [67]
    давай без давай? ;))))
    зы пробуй)))
  • viper (24.10.08 12:51) [68]
    procedure TForm1.makecomb(s: string);
    var i:integer;
       res:string;
    begin
    for I := 64 to 67 do
    begin
     if i<>64 then
      res := s + chr(i);
     memo1.Lines.Add(res);
    end;
    inc(counter);
    if counter>3 then exit;
    makecomb(res);
    end;

    эта процедура неверна, но уже что-то. Она выдает

    (пустая строка)
    A
    B
    C

    CA
    CB
    CC

    CCA
    CCB
    CCC
  • Сергей М. © (24.10.08 12:53) [69]

    > какие правила кодирования?


    Оч простые : нулевому значению N-ричного разряда соответствует символ 'A', единичному значению - 'B', двойке - 'C', .. и т.д.
  • Сергей М. © (24.10.08 12:55) [70]

    > Откуда вы вообще взяли, что здесь должно быть кодирование?


    Ты с дуба упал ?

    ты когда десять пальцев на руках насчитал, какое число на бамажке пишешь ?
    10 ?

    Вот эта самая '10' и есть результат кодирования того что ты насчитал)
  • viper (24.10.08 12:55) [71]
    Я понимаю, почему процедура выдает неверный результат. Рекурсия должна вызываться иначе. Но как?
  • Сергей М. © (24.10.08 13:03) [72]
    А мог, кстати, записать 'X', или '12', или '1010', или 'A', или '100' - и все записи будудт верными, и все они еть результат кодированного представления "десятки" в той или иной СС !!!
  • viper (24.10.08 13:06) [73]
    Сергей, рассмотри мой вариант с рекурсией.
  • Сергей М. © (24.10.08 13:08) [74]
    Зачем ?
    К решению задачи эти потуги отношения не имеют.
  • viper (24.10.08 13:09) [75]
    А если я хочу решить эту задачу с помощью рекурсии?
  • viper (24.10.08 13:09) [76]
    А если я хочу решить эту задачу с помощью рекурсии?
  • Сергей М. © (24.10.08 13:12) [77]
    Решай)
    Я разве против ?
    Но способствовать ничем не оправданному ослиному упрямству у меня желания нет.
  • Наиль © (24.10.08 13:14) [78]
    Для иследования рекурсии необходимы:
    1. View, Debug Windows, Call Stack
    2. Клавиша F7
    3. Клавиша Shift+F8

    Имеются?
  • viper (24.10.08 13:14) [79]
    Твой вариант, с кодированием, мне кажется довольно сложным. Разве рекурсия не будет проще?
  • viper (24.10.08 13:18) [80]
    Наиль, я и сам могу протрассировать выполнение проги в уме. Но не знаю, как сделать верную рекурсию...
  • Наиль © (24.10.08 13:21) [81]
    > Твой вариант, с кодированием, мне кажется довольно сложным.
    > Разве рекурсия не будет проще?

    Могут быть более короткими, но очень(!) тяжело отлаживаются и часто приводят к зависанию программы из-за переполнения стека.
  • viper (24.10.08 13:24) [82]
    Я придумал вот что: в момент очередной итерации нужно вызвать рекурсию с началом в этой строке, но как ее ограничить? Завершить?
  • Наиль © (24.10.08 13:26) [83]
    Завершают рекурсию почти всегда одинаково:
    if условие then Exit;

  • Сергей М. © (24.10.08 13:28) [84]

    > вариант, с кодированием, мне кажется довольно сложным. Разве
    > рекурсия не будет проще?


    В огороде бузина, а в Киеве дядька.
    Две никак не связанные вещи.

    Рекурсивные методы вычислений полезны (а чаще попросту необходимы как единственно возможные) в алгоритмах с возвратом.

    Откуда и куда ты вознамерился в данном случае "возвращаться" - ума не приложу.

    Впрочем, гланды конечно можно удалять и через задний проход)
  • viper (24.10.08 13:32) [85]
    Наиль, не то. Я имею ввиду, что нужно каким-то образом ограничить ее выполнение.
    Вот пусть у нас есть буквы А, В, С.
    Необходимо получить на выходе список:
    А
    В
    С
    АА
    АВ
    АС
    ВА
    ВВ
    ВС
    ...
    СС
    ААА
    ААВ
    ААС
    ВАА
    ВАВ
    ВАС
    ...
    ССС

    вначале у нас идет просто цикл
    а вот затем где-то нужна рекурсия
    вот как ее сделать?
  • Сергей М. © (24.10.08 13:35) [86]
  • Johnmen © (24.10.08 13:36) [87]

    > Можно просто, по-человечески помочь.

    Написать за тебя лабу стОит денег.
  • viper (24.10.08 13:37) [88]
    За меня не нужно писать лабу.
  • Ega23 © (24.10.08 13:38) [89]
    Ну вот, собственно, опять скатились к деньгам. Кто там такой правильный был и выступал, что это аморально? Вот пусть сначала десятку идиотов поотвечает, а потом за мораль с ним поговорим.
  • viper (24.10.08 13:44) [90]
    Я не идиот. Тут дали советы, тысячи их! Но самое забавное, что по делу - ни одного.
    procedure generate;
        | var i,j : integer;
        begin
        | if t = n then begin
        | | for i:=1 to n do begin
        | | | write(a[i]);
        | | end;
        | | writeln;
        | end else begin {t < n}
        | | for j:=1 to k do begin
        | | | t:=t+1;
        | | | a[t]:=j;
        | | | generate;
        | | | t:=t-1;
        | | end;
        | end;
        end;
    это вы мне предложили использовать?
  • Johnmen © (24.10.08 13:45) [91]

    > За меня не нужно писать лабу.

    А это про что
    Помогите, не могу понять, какой алгоритм позволит решить следующую задачу

    ?
    Или достаточно было ответить: алгоритм Дуремарова-Шнеерсона? И как ты пытался понять, какой? Выбирал из списка?
  • Putnik © (24.10.08 13:46) [92]
    Почитай, может что пригодится
    http://algolist.manual.ru/maths/combinat/sequential.php
  • Putnik © (24.10.08 13:46) [93]
    Почитай, может что пригодится
    http://algolist.manual.ru/maths/combinat/sequential.php
  • Putnik © (24.10.08 13:46) [94]
    Почитай, может что пригодится
    http://algolist.manual.ru/maths/combinat/sequential.php
  • Putnik © (24.10.08 13:46) [95]
    Почитай, может что пригодится
    http://algolist.manual.ru/maths/combinat/sequential.php
  • Putnik © (24.10.08 13:47) [96]
    Удалите, утроение, пожалуйста, браузер сглючил
  • Сергей М. © (24.10.08 13:47) [97]
    Это надо не использовать, а проанализировать логику закодированного в этом фрагменте алгоритма, и на основе проведенного анализа сделать умозаключение, можно ли и каким образом адаптировать этот алгоритм к своей , довольно похожей задаче.
  • Ega23 © (24.10.08 13:49) [98]

    > Я не идиот. Тут дали советы, тысячи их! Но самое забавное,
    >  что по делу - ни одного.


    Не можешь сделать сам - плати бабки, желающих подзаработать тут полно.
    Советов тебе дали - кучу. Все - по делу. Какие-то лучше, какие-то хуже, но все по делу.
  • viper (24.10.08 13:49) [99]
    Я не вижу способов адаптировать это к моей, довольно похожей задаче. Просто потому, что здесь используется массив.
  • viper (24.10.08 13:52) [100]
    А ответить без бабок не вариант? Или тебе за три строчки так хочется денег? А?!
  • Johnmen © (24.10.08 13:54) [101]

    > А ответить без бабок не вариант? Или тебе за три строчки
    > так хочется денег? А?!

    Если это такая смешная ерунда, эти три строчки, что же ты их сам не написал?
  • viper (24.10.08 13:58) [102]
    Я просто попросил помочь. Я не могу сообразить, сделать какой-то вывод, который на поверхности. Скажите же его, сколько уже можно!
  • Сергей М. © (24.10.08 13:58) [103]
    Ну значит не судьба.
  • Сергей М. © (24.10.08 14:02) [104]
    Если тебя заклинило на обязательном использовании неких рекурсивных методов в контексте решения этой задачи, то 7.1.6 будет как нельзя кстати - тут тебе и рекурсия, и кодирование, и СС
  • viper (24.10.08 14:02) [105]
    А если ты просто напишешь ошибку в моем алгоритме? А?
  • Ega23 © (24.10.08 14:05) [106]

    > А ответить без бабок не вариант?


    вариант. Только ты не умеешь слушать.  Ине хочешь думать. А хочешь получить всё сразу и нахаляву.
    Ну а халявщиков нигде не любят. И на этом форуме - тоже.


    > Или тебе за три строчки  так хочется денег? А?!


    Мне - нет, у меня зарплата приличная. Да и не буду я тебе отвечать ничего. Но, думаю, если ты объявишь рублей 500 за задачу - найдётся масса людей, которые тебе её сделают. Оптимально.
  • alien1769 © (24.10.08 14:06) [107]
    Запрещается: ....алгоритмы взлома того или иного программного обеспечения.

    Необходимо вывести все возможные комбинации этих букв, от просто A до FFFFFF включительно.

    Алгоритм для подбора пароля архива, ИМХО :)
  • viper (24.10.08 14:09) [108]
    Ега, я внимательно слушал, вот последние ответы мне наиболее ясны, но все же: конечно, строка - это массив. Но вот делать массив строк...
  • Ega23 © (24.10.08 14:11) [109]
    чё-та я устал.
  • Сергей М. © (24.10.08 14:19) [110]
    Короче, студень, хватит уже нести отсебячину.
    Приводи сюда дословно текст задания на ЛР.
  • viper (24.10.08 14:20) [111]
    Ега, я отпишу тебе в аську, ибо общаться на форуме я устал тоже.
  • viper (24.10.08 14:23) [112]
    Это не лабораторная работа, а моя выдумка.
    Дословно: необходимо вывести все комбинации букв от 1 до М (задается юзером) символов, начиная от A и заканчивая М-тым символом, считая включительно от А (т.е. если М=3, то это А, В, С). То, что должно быть на выходе, уже написал выше.
  • Ega23 © (24.10.08 14:29) [113]

    > Ега, я отпишу тебе в аську, ибо общаться на форуме я устал
    > тоже.


    ну-ну. Это будет отпись в никуда, т.к. я ей не пользуюсь.
  • Сергей М. © (24.10.08 14:29) [114]

    > viper   (24.10.08 14:23) [112]


    Т.е. необходимость применения именно рекурсивных методов - тоже всего лишь твоя блажь, а не чем-то действительно обоснованное требование ?
  • viper (24.10.08 14:31) [115]
    Представь, что это требование выдвинуто заказчиком.
  • viper (24.10.08 14:31) [116]

    > т.к. я ей не пользуюсь.

    это печально.
  • alien1769 © (24.10.08 14:35) [117]

    > это требование выдвинуто заказчиком

    А я вот написал [107]
  • viper (24.10.08 14:38) [118]
    Ты параноик)
  • Сергей М. © (24.10.08 14:39) [119]

    > это требование выдвинуто заказчиком


    Врешь и не моргаешь)
    Какое дело заказчику до методологии ?
    Заказчику нужен конечный результат, а не методология !

    А если заказчик вмешивается в процесс выбора исполнителем методологии достижения конечного результата, то бежать нужно от такого заказчика аки черту от ладана !)
  • viper (24.10.08 14:42) [120]
    ок, требование выдвинуто исходя из максимального размера кода, код должен быть мал, т.к. памяти на винте мало))))
  • Сергей М. © (24.10.08 14:45) [121]

    > viper   (24.10.08 14:42) [120]



    > требование выдвинуто исходя из максимального размера кода


    И какой же этот  "максимальный размер" ?


    > код должен быть мал, т.к. памяти на винте мало


    А причем здесь рекурсия ?
  • viper (24.10.08 14:46) [122]
    он будет меньше. Короче говоря, рекурсия, никак иначе.
  • Сергей М. © (24.10.08 14:47) [123]

    > он будет меньше


    Это по какому же постановлению партии и правительства он будет меньше ?
    И меньше чего конкретно ?
  • viper (24.10.08 14:50) [124]
    Ты тролль же)
  • Сергей М. © (24.10.08 14:52) [125]
    Все с тобой ясно.
    см. [51]
  • viper (24.10.08 14:54) [126]
    Идите-ка вы все нахуй.
  • Johnmen © (24.10.08 15:05) [127]

    > [126]

    Традиционное завершение подобных веток.
  • Jeer © (24.10.08 15:11) [128]

    > Традиционное завершение подобных веток.


    Ну шо тут поделать - такая уж традиция у современных оболтусов - "На халяву и прям щас".
    Вот мы и стараемся - халяву и прям туда. :)
  • viper (24.10.08 15:16) [129]
    соси хуй, быдло
  • Сергей М. © (24.10.08 15:20) [130]
    ICQ 196854965 ?
  • Сергей М. © (24.10.08 15:22) [131]
    Генерацию последовательности из трех букв автор освоил !
    Не пропал наш скорбный труд)
  • viper (24.10.08 15:57) [132]
    Сергей, деанонимизация в твоих руках - чистый фейл. Двач негодоват!
  • Макарец Сергей (24.10.08 16:25) [133]
    Кстати, меня заинтересовала идея, предложенная Наилем:


    > Договоримся, что справа младший символ, слева старший.
    > 1. Задаём и выводим мимимальное значение комбинации
    > 2. Увеличиваем младший символ на 1
    > 3. Если он стал больше максимально доступного в разряде, то его сбрасываем на минимум и увеличиваем на 1 следующего по старшинству и применяем к ниму правило 3.
    > 4. Выводим результат.
    > 5. Если не достигнут максимум (FFFFFF), то возвращаемся на 2.

    Не могли бы вы поподробнее раскрыть вашу идею?
  • Макарец Сергей (24.10.08 16:29) [134]
    Я вот решил реализовать данный код, но сразу же столкнулся с вопросом: а какие два цикла вы имеете ввиду?
  • Сергей М. © (24.10.08 16:42) [135]

    > Макарец Сергей   (24.10.08 16:29) [134]


    Это ты мне ?
  • Макарец Сергей (24.10.08 16:43) [136]
    Нет, Наилю. Не совсем ясно, как в цикле можно реализовать то, что он предложил.
 
Конференция "Прочее" » Все комбинации
Есть новые Нет новых   [134444   +24][b:0.001][p:0.004]