Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »
Страницы: 1 2 3

задачка


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]
> Кроме прямого подсчета с раскрытием скобок методом включений-
> исключений, также легко получить результат по индукции.

Если не сложно, распиши, пожалуйста


Страницы: 1 2 3 версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо