Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.01.10;
Скачать: [xml.tar.bz2];

Вниз

2 задачки. Размен денег и произведение многочленов   Найти похожие ветки 

 
trxnet ©   (2009-11-03 21:13) [0]

Всем привет. Помогите пожайлуста решить задачи и помоч составить алгоритм.

Задача1: Для заданной суммы денег, напечатать способ ее представления минимальным числом купюр и манет.

Задача2: Произведение многочленов. По заданным коэффициентам многочлена n-й степени А(х) и многочлена m-й степени B(х) определить коэффициенты многочлена С(х) = А(х) * В(х)

Спасибо!


 
Pavia ©   (2009-11-03 21:17) [1]

1 Линейное программирование
2 Свертка через БПФ.


 
vrem   (2009-11-03 21:23) [2]

1 - вычитание из суммы денег сначала самых крупных купюр(может по несколько штук), потом мельче, потом так же монеты


 
korneley ©   (2009-11-03 21:26) [3]

В приципе, уже всё сказано, но не могу удежаться: "манет" пишется через "о" А вот другое, через "а".


 
korneley ©   (2009-11-03 21:46) [4]

В приципе = в принципе. Начинаю ненавидеть неполноразмерные клавиатуры ещё больше :))


 
trxnet ©   (2009-11-03 21:51) [5]

А по подробнее про свертку через БПФ можно? Мне эту программу нужно сделать именно с массивом(

Вот как я думаю: Например, перемножаем скобки
(2х^2+3х+8х)*(4х^4+5х+7х) = 8x^6+10х^3+14x^3+
+12x^5+15x^2+21x^2+
+32x^5+40x^2+56x^2

повторяющиеся степени, их числа складываем и помещаем в массив с индексом этой степени, например: ...15x^2+21x^2...  - 15+21=36 и помещаем в массив с индексом 2, т.к степень 2, ну и так делее... Так будет правильно?


 
TUser ©   (2009-11-03 22:04) [6]


> Так будет правильно?

да, так и надо сделать


 
trxnet ©   (2009-11-03 22:11) [7]

А по первой задачи, нарзрело только это:

Отнимаем например 5000 тыщ, если число отричательное получилось, то отнимаем меньше, если неотрицательно, то пробуем отнять это же еще, если не отрицательное, пробуем еще, если отрицательное, то отнимаем еще меньшуюю купюру, в потом сложим результат и сравним с введеной сумой (или вычтем из нее), если совпадает или при вычитании 0, то все верно. Вот так можно реализовать ?


 
palva ©   (2009-11-03 22:48) [8]


> (2х^2+3х+8х)*(4х^4+5х+7х)

По-моему, следует привести подобные в исходных многочленах перед их умножением. А коэффициенты каждого многочлена нужно разместить в массиве, включая нули для пропущенных степеней. Например, многочлен
4х^4+12х будет записан в массиве так (0,12,0,0,4) Порядок коэффициентов лучше сделать обратным, так многочлены будет проще складывать и умножать.


 
Styx   (2009-11-03 23:42) [9]


> 1 - вычитание из суммы денег сначала самых крупных купюр(может
> по несколько штук), потом мельче, потом так же монеты

Допустим, есть монеты по рублю, девять и десять рублей (такая вот забавная монетная система). И есть сумма 27 рублей. Тогда получится 2*10+7*1, а не 3*9...


 
trxnet ©   (2009-11-04 11:49) [10]

Про деньги не получается сделать алгоритм(


 
oldman ©   (2009-11-04 11:58) [11]


> Styx   (03.11.09 23:42) [9]


А вот кассиры в магазинах сдают именно 2*10+7*1 а не 3*9 :)))


 
cwl ©   (2009-11-04 13:32) [12]

> oldman ©   (04.11.09 11:58) [11]
в вашем государстве есть копюра/монета достоинством в 9 денег?


 
cwl ©   (2009-11-04 13:33) [13]

oldman ©   (04.11.09 11:58) [11]
> +7*1
неа. 5+2, 2+2+2+1. получить 7 раз по рублю - редкость :>


 
TUser ©   (2009-11-04 13:39) [14]


> в вашем государстве есть копюра/монета достоинством в 9
> денег?

нарисуем


 
Inovet ©   (2009-11-04 13:49) [15]

> [12] cwl ©   (04.11.09 13:32)
> > oldman ©   (04.11.09 11:58) [11]
> в вашем государстве есть копюра/монета достоинством в 9
> денег?

Ну а чё. В Британии вон выпустили монету 99 пенсов, а то цены все 14.99, например.


 
Игорь Шевченко ©   (2009-11-04 13:55) [16]

Сумма денег за помощь не озвучена


 
SergP ©   (2009-11-04 14:33) [17]


> Про деньги не получается сделать алгоритм(


Ну так алгоритм же уже подсказали:


> vrem   (03.11.09 21:23) [2]
>
> 1 - вычитание из суммы денег сначала самых крупных купюр(может
> по несколько штук), потом мельче, потом так же монеты


Если не учитывать то, что в некоторых хитрых гос-вах с хитрой денежной системой он будет работать неправильно, то его вполне можно и применить для решения школьных задач....

А что касается реализации алгоритмя, то например на Дельфи он может выглядеть так:

//summa -сумма в копейках
//A - массив с номиналами банкнот и монет в копейках, отсортированый по убыванию
//B - результат (количество купюр и монет каждого типа (т.е. результат)
s:=summa;  
for i:=low(A) to high(A) do
begin
B[i]:=s div A[i];
s:= s mod A[i];
end;


 
trxnet ©   (2009-11-04 15:58) [18]

SergP, спасибо вот теперь разобрался. Я тоже хотел через деление попробовать, но руки не долши)) Через разность кучу условий нужно и сложнее делается.


 
MBo ©   (2009-11-05 07:46) [19]

Как уже сказали, не для всех денежных систем работает "жадное" решение, при котором сначала крупные купюры выбираются.
В общем случае задача решается динамическим программированием (coin change problem)


 
KSergey ©   (2009-11-05 09:41) [20]

> korneley ©   (03.11.09 21:26) [3]
> В приципе, уже всё сказано, но не могу удежаться: "манет" пишется через "о" А вот другое, через "а".

Шипните, плиз, что это за "другое", которое "пишется через а"? никак не могу придумать.


 
Inovet ©   (2009-11-05 09:57) [21]

> [20] KSergey ©   (05.11.09 09:41)
> > korneley ©   (03.11.09 21:26) [3]
> > В приципе, уже всё сказано, но не могу удежаться: "манет"
> пишется через "о" А вот другое, через "а".
>
> Шипните, плиз, что это за "другое", которое "пишется через
> а"? никак не могу придумать.

Наверно "мани", хотя и другая буква на клавиатуре недалеко.


 
trxnet ©   (2009-11-06 23:48) [22]

1 задачу препод приняла, а вот 1 нет.

Вобщем многочлен может иметь вид (2х^2 + 3x+2) * (3x^3 + 4x + 3).
Перемножить то я их перемножил, но вот подобные неудается привести, т.к неучитывается степень. Вот незнаю как степень учитывать.


 
Игорь Шевченко ©   (2009-11-07 02:32) [23]


> 1 задачу препод приняла, а вот 1 нет.


у форума принял ? Это радует, тут вообще народ неглупый



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

Форум: "Прочее";
Текущий архив: 2010.01.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.007 c
15-1257859624
XXL
2009-11-10 16:27
2010.01.10
Чем можно отобразить SVG ?


2-1258544870
tonich
2009-11-18 14:47
2010.01.10
скрыть метод предка


15-1257526923
Avant Browsr
2009-11-06 20:02
2010.01.10
Где хранятся "Избранное" и "Журнал"?


15-1257802213
Юрий
2009-11-10 00:30
2010.01.10
С днем рождения ! 10 ноября 2009 вторник


6-1211445506
laao
2008-05-22 12:38
2010.01.10
вопросы по организации OpenSSL для Indy HTTP-сервера





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский