Конференция "Прочее" » задачка
 
  • SergP © (23.04.18 01:12) [20]

    > Mystic ©   (21.04.18 21:06) [10]


    Хм. Насчет рекурсии я думал так:
    Пусть k - общее количество цветов, как в условии
    n - длина последовательности
    r - количество цветов в последовательности.

    тогда:

    function p(k,n,r:integer):extended;
    begin
    if r>n
      then Result:=0
      else if r=1
        then  Result:=1/power(k,n-1)
        else result:=p(k,n-1,r-1)*(k-r+1)/k+p(k,n-1,r)*r/k;
    end;


    т.е. если например имеется 5 цветов и последовательность из 7 шариков то вызываем функцию так:
    px:=p(5,7,5);

    Вот только как теперь с него сделать общую формулу - пока не придумал.
  • SergP © (23.04.18 10:28) [21]
    В таком виде понятнее должно быть:
    function P(k,n:integer):extended;
     function SubP(n,r:integer):extended;
     begin
       if r>n  then Result:=0
       else if r=1 then  Result:=1/power(k,n-1)
       else Result:=((k-r+1)*SubP(n-1,r-1) + r*SubP(n-1,r))/k;
     end;
    begin
     Result:=SubP(n,k);
    end;
  • KSergey © (24.04.18 09:06) [22]
    Всегда было любопытно: почему большинство задач - про комбинаторику и т.п. тервер?
    у кого-то в жизни встречаются такого рода задачи? или это просто типичная тема для интеллектуалов, типа как шахматы?
    в самом деле интересно (про реальные задачи у вас на работе, связанные с этим)
  • картман © (24.04.18 11:41) [23]

    > в самом деле интересно (про реальные задачи у вас на работе,
    >  связанные с этим)



    > картман ©   (21.04.18 20:31) [9]
    >
    >
    > > А тебе вообще зачем это?
    >
    > пятничная задачка - я решил, по работе нужно было.
  • KSergey © (24.04.18 11:45) [24]
    В какой области жизнедеятельности применяется ваш софт?
  • картман © (24.04.18 12:34) [25]
    логистика
  • картман © (24.04.18 12:39) [26]
    в общем, такая вот формулка получается: https://yadi.sk/i/P2A-0_Zv3UiLtc
  • картман © (24.04.18 12:45) [27]
    интересно, что числитель при k>n равен нулю))
  • SergP © (24.04.18 13:04) [28]
    А можно интереса формулу сюда написать, или выложить на что-то более доступное? А то самому интересно, но яндекс у нас в/на Украине заблокирован, а искать какой-нить прокси-сервер или делать что-то другое для обхода - как-то лень.
  • xayam © (24.04.18 13:16) [29]

    > а искать какой-нить прокси-сервер или делать что-то другое
    > для обхода - как-то лень

    во времена, когда блокируют рутрекер и телеграм, прокси должны быть под рукой :)
  • SergP © (24.04.18 14:04) [30]

    > во времена, когда блокируют рутрекер и телеграм, прокси
    > должны быть под рукой :)


    Ок. ты меня убедил. Пришлось найти все-таки проксик. Посмотрел формулу.
  • Тимохов Дима © (24.04.18 15:00) [31]

    > картман ©   (24.04.18 12:39) [26]
    > в общем, такая вот формулка получается: https://yadi.sk/i/P2A-
    > 0_Zv3UiLtc

    C - это что?

    C(n,k) = n! * / (k!*(n-k)!)

    ?
  • KSergey © (24.04.18 15:42) [32]
    > SergP ©   (24.04.18 14:04) [30]
    > Ок. ты меня убедил. Пришлось найти все-таки проксик.

    Opera с её vpn
    Самое простое и готовое "из коробки"
    поражаюсь тому, что её не блокируют
  • SergP © (24.04.18 16:44) [33]

    > KSergey ©   (24.04.18 15:42) [32]


    Да просто не так часто и бывает необходимость лазить по яндексу, за время действия блокировки он мне первый раз понадобился... Ну и еще ранее один раз была необходимость зайти на сайт drweb.  Посему и не обзавелся чем-нить постоянным для обхода блокировки, оба раза просто искал прокси, находил и заходил через них. А что касается остального заблокированного, то вконтакте и одноклассники мне и не нужны (вообще не перевариваю такие вещи, как вконтакте, одноклассники, твиттер, фейсбук, телеграм, и прочие, т.е. все что называется "социальные сети"). А mail.ru - ИМХО вообще правильно сделали, что заблокировали (вот только потом его почему-то разблокировали), ибо это рассадник различной гадости, той что в инете люди называют "вирусы от mail.ru" (спутник, "браузер" Амиго и пр.). А все остальные российские сайты, которые бывают мне нужны нормально работают, их никто не блокировал.
  • картман © (24.04.18 16:56) [34]

    > C(n,k) = n! * / (k!*(n-k)!)

    да
  • Тимохов Дима © (24.04.18 17:38) [35]

    > картман ©   (24.04.18 16:56) [34]

    Да, все верно) Формулу не понял, но мой тестовый стенд показал правильность.
    Будет время своим способом попытаюсь вывести твою формулу.
  • Sha © (24.04.18 17:55) [36]
    >Тимохов Дима ©   (24.04.18 17:38) [35]
    >Будет время своим способом попытаюсь вывести твою формулу.

    гугли "формула включений-исключений"
  • Sha © (25.04.18 09:38) [37]
    Кроме прямого подсчета с раскрытием скобок методом включений-исключений, также легко получить результат по индукции.
  • Тимохов Дима © (25.04.18 11:11) [38]
    какие вы все умные))
    я вот только аналитически для N=K решил.
    и численно для N=K+1.
  • DayGaykin © (21.05.18 13:26) [39]

    > Sha ©   (25.04.18 09:38) [37]
    > Кроме прямого подсчета с раскрытием скобок методом включений-
    > исключений, также легко получить результат по индукции.

    Если не сложно, распиши, пожалуйста
 
Конференция "Прочее" » задачка
Есть новые Нет новых   [118608   +45][b:0][p:0.001]