![]() |
|
|
![]()
|
|
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Народ, меня тут попросили написать такую программку.
Есть условия вкладов в некоторый банк. Все эти данные хранятся в некоторой БД, структуру к-й я определяю сам. Так вот. Необходимо определить наилучшую стратегию вклада: т.е что-то типа "вложить на 2 месяца, потом вложить на 5..", причем, в будущем эта фраза будет выглядеть так: "вложить на 3 месяца в банк А, на 2 - в банк Б" etc. Но пока требуется только один банк.. для вводимой пользователем суммы на ГОД. Понятно, что тут только перебором, но как получить все эти варианты? Причем надо учесть "пограничные" варианты - после нескольких месяцев сумма может достичь размеров, для к-х проценты начисляются уже по-другому. Причем, это все должно работать не 10 лет.. Даже не знаю, с чего начать. Нужно как-то получать комбинации вариантов, причем всевозможные.. З.Ы. Хочу отметить, что это НЕ программа для личного обагащения - просто моему знакомому (студенту 3-го курса..) задали такую задачку.. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Ну я думаю, что можно поступить следующим образом...
1. Пользователь вводит сумму, которую хочет вложить и срок вклада. 2. Из базы вынимаются процентные ставки с периодами по кладам, т.е. ты получаешь что-то типа: Вклад 1 / 12 месяцев (первые) / 1% (в месяц) Вклад 1 / 24 месяца (следующие) / 2% Вклад 1 / 48 месяцев (следующих) / 3% 3. Дальше ты берешь срок, который ввел пользователь и делаешь цикл (по срокам вклада, взятым из таблицы) до тех пор, пока срок введенный пользователем будет меньше, чем сумма сроков вклада, который предлагает банк. 4. В цикле находишь сумму, которую получит вкладчик с процентами после истечения срока вклада. Делаешь так. $s = сумма введенная пользователем. for ... цикл до предпоследнего срока, т.к. из последнего надо месяцы вычитать .. $s = $s + ( сумма введенная пользователем / 100 * процент * срок вклада ). вышли из цикла. Считаем теперь последний период: а) Считаем количество месяцев, по вкладам, в которые попадает срок, т.е. допустим, что юзер ввел срок = 70 месяцев. Отсюда общий срок вкладов - 84 месяца. Разница - 14. .. $s = $s + ( сумма введенная пользователем / 100 * процент * разница ). Вот. А затем таким же образом считаешь суммы для остальных вкладов и сравниваешь где больше получит... |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: нет Всего: 538 |
Имеем: t - время на которое нужно сделать вклад, x - сумма которую нужно вложить
Предпологается что есть депозиты на которые деньги кладутся на определенный срок (не больше и не меньше), если есть срочные вклады то их считаем депозитами на время t. 1) выбираем все варианты вкладов которые удовлетворяют исходным требованиям - время на которое надо вложить деньги не более t, сумма необходимая для вклада не более x. если таких вариантов нет то работа алгоритма законченна 2) выбираем тот вариант вклада который дает нибольшую прибыль на единицу времени и добавляем его в список вкладов кторые мы выбрали 3) вычисляем новые t и x. из t вычитаем время на которое вкладывали деньги. к x прибавляем полученные проценты 4) переходим к пункту 1 полученная сумма будет максимальной 2Mal Hack чуствую что алгоритмы похожи, но разобраться так и не смог
Во первых клады это здорово Во вторых что означает "Вклад 1", "первые" "следующие" "следующих"? В третих проценты всегда считаются в месяц или только в первом случае? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
LSD описАлся маленько...
Этой фигней я имелд ввиду, то, что допустим еть тип вклада, нпаример программерский. Первый год каждый месяц начисляется 1 % от вклада, следующие два года - 2%, следующие 4 - по 3% в месяц... |
|||
|
||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Спасибо большое..
Попробуем.. Хотя, честно признаюсь, я даже боюсь начать - уж больно о многом нужно думать сразу.. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Да тут нет осоьо ничего сложного. Главное знать особенности эти х банковских вкладов...
|
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Лучше для начала почитать основы портфельного инвестирования. Особенно если вариантов вкладов несколько, да еще учитывается капитализация прибыли.
|
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |