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

Вниз

Помогите решить маленькую задачку !!!   Найти похожие ветки 

 
Никита   (2003-05-08 18:49) [0]

Даны натуральные числа A[1]...,A[10]. Предположим что имеются десять видов монет достоинством A[1]...,A[10]. Обозначим через B[k] число способов которыми можно выплатить сумму K ,т.е. B[k]-это число решений уравнения A[1]X[1]+...+A[10]X[10]=K, где X[i] может принимать целые неотрицательные значения. Получить B[0]...,[20].

Спасибо за внимание !!!


 
Odin ©   (2003-05-10 11:53) [1]

Допустим все отсортированно (это сделать легко).
Выбираем монету макс. достоинства, выполняем действие:

Function abcd(N{Монета},X{Cумма}):Integer);
Var
Y,Z :Integer;
I :Integer;
begin
Y:=(X div A[N]);
Z:=Y+1;
For I:=0 to Y do
Begin
( N<10)
Допустим все отсортированно (это сделать легко).
Выбираем монету макс. достоинства, выполняем действие:

Function abcd(N{Монета},X{Cумма}):Integer);
Var
Y,Z :Integer;
I :Integer;
begin
Y:=(X div A[N]);
Z:=Y+1;
For I:=0 to Y do
Begin
If(N<10) then Z:=abcd(N+1,I*A[N]);
Result:=Result*Z;
End;
End;

Что-то в духе этого ... Не проверял на практике, могут быть арифметические ошибки ...



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

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

Наверх




Память: 0.46 MB
Время: 0.051 c
1-41165
operator
2003-11-02 19:13
2003.11.13
InsertComponent


4-42310
JS
2003-09-06 17:07
2003.11.13
Прозрачный bitmap в меню


14-41973
Юрий Зотов
2003-10-13 13:35
2003.11.13
По поручению Красной Майки (закрытие сезона).


3-40855
Gia Gvatua
2003-10-21 08:48
2003.11.13
Problems with Paradox tables


14-41978
Карлсон
2003-10-17 22:27
2003.11.13
вот есть гомофобы, а как называются ненавидящие курящих?