Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Математики, вопрос для вас   Найти похожие ветки 

 
Vasya.ru ©   (2005-03-04 10:44) [0]

есть формула ((N + K - 1)! - N!) / K!, (0 < N, K < 1000000000). Собственно вопрос в том, как это можно рассчитать для разных наборов N, K, пользуясь только стандартными средствами TP, не используя длинную арифметику?


 
Думкин ©   (2005-03-04 10:49) [1]

N=999999999 K=2 И как не используя длинную?


 
TUser ©   (2005-03-04 11:02) [2]

По Стирлингу ее преобразовать, наверное


 
Alx2 ©   (2005-03-04 11:03) [3]

TUser ©   (04.03.05 11:02) [2]
Вот это очень мешает: (N + K - 1)! - N!


 
Alx2 ©   (2005-03-04 11:04) [4]

TUser ©   (04.03.05 11:02) [2]
Т.е. преобразовать-то можно, но для приемлемой точности аппроксимации на K и N лягут сильные ограничения


 
Думкин ©   (2005-03-04 11:05) [5]

> [2] TUser ©   (04.03.05 11:02)

В моем случае будет:

999999999!*999999999/2 как это согласовать со словами:

> пользуясь только стандартными средствами TP, не используя длинную арифметику?


?


 
MBo ©   (2005-03-04 11:07) [6]

в общем случае, конечно, в целых числах не выйдет.
Преобразуем так, чтобы не считать совсем уж офигенные
числа:
N!/K! * ((N+K-1)!/N! - 1)

для N>K

nk:=1;
for i:=k+1 to n do
 nk:=nk*i;

nk1:=1;
for i:=n+1 to n+k-1 do
 nk1:=nk1*i;

Result:=nk*(nk1-1);


 
Alex Konshin ©   (2005-03-04 11:23) [7]

a!/b! можно сократить.



Страницы: 1 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
3-1108632950
Gost
2005-02-17 12:35
2005.03.20
Можна ли одним махом обрезать полтаблицы?


14-1109665646
boriskb
2005-03-01 11:27
2005.03.20
Рекомендуется к прочтению


1-1110188990
diman
2005-03-07 12:49
2005.03.20
перезагрузка прогаммы


9-1103817365
Trimp
2004-12-23 18:56
2005.03.20
Вопрос по OpenGL


3-1108489390
Ярослав
2005-02-15 20:43
2005.03.20
TimeStamp в MS SQL