Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2020, 10:10   #1
fizmatfmo03
 
Регистрация: 08.04.2020
Сообщений: 4
По умолчанию Программирование в Delphi

Как в делфи можно записать решение задачи. имеется 402 письма на них выделили 20126 рублей марками. надо все марки раскидать на все письма. пределы суммы одного письма от 23 до 62. шаг перебора 3.
fizmatfmo03 вне форума Ответить с цитированием
Старый 08.04.2020, 18:02   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Очень странная задача. Количество марок на одно письмо зависит от направления и от категории (простое, заказное и т.п.) Сколько требуется - столько и лепи невзирая нп Delphi.
digitalis вне форума Ответить с цитированием
Старый 09.04.2020, 09:38   #3
fizmatfmo03
 
Регистрация: 08.04.2020
Сообщений: 4
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Очень странная задача. Количество марок на одно письмо зависит от направления и от категории (простое, заказное и т.п.) Сколько требуется - столько и лепи невзирая нп Delphi.
направление не важно главное не выйти из пределов и чтобы не было остатка
fizmatfmo03 вне форума Ответить с цитированием
Старый 09.04.2020, 10:28   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

А какой ценовой набор марок?
И что значит
Цитата:
шаг перебора 3
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 09.04.2020, 16:11   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

вар.1. "простой"
Код:
for x1:=23 to 62 do begin
  for x2:=23 to 62 do begin
   ...
     for x402:=23 to 62 do begin
       if x1+x2+...+x402 =20126 then ...
     end;
   ...
  end;
end;
вар 2. "ещё проще"
Код:
var
  xx: array [1..402] of integer;

j:=0;
for j:=low(xx) to high(xx) do xx[j]:=23;
Код:
for x1 ...
    for x402...
while j>0 do begin
  while x[j]<62 do begin
    ....
  end;
  ...
end;
Код:
if x1+...+x402 =20126 then ...
  s:=0;
  for j:=low(xx) to high(xx) do s:=s+xx[j];
  if s=20126 then ....
вар.3.(в соответствии с ником)
Код:
402 *23 =
20126 -... =
62-23 =
... / ... =
...
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 09.04.2020, 22:25   #6
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

evg_m
Цитата:
вар.1. "простой"
и т.д.
Поясните, пожалуйста. Это Вы о чём?

Пример. Марки по рублю.
20126 div 402 - число марок (цена) на конверт. Это по 50 р.
402 * 50 = 20100
Остаток 26 р. 26 конвертов по одной марке (51 р).
Всё!

Тут недостаточно условий для решения.
И к чему этот
Цитата:
шаг перебора 3
?

В принципе, денежную сумму надо представить в виде сомножителей
и из этих сомножителей комбинировать наборы.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 09.04.2020, 22:41   #7
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Размер шага видимо и есть стоимость одной марки.

P. S.
Только тогда общая сумма не клеится.
20126 / 3 = 6708,666666666667
I am not a wizard, I am just learning.

Последний раз редактировалось Desc; 09.04.2020 в 22:44. Причина: Добавил P. S.
Desc вне форума Ответить с цитированием
Старый 10.04.2020, 07:46   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

вар.1. https://www.programmersforum.ru/showthread.php?t=300480
вар.2. https://www.programmersforum.ru/showthread.php?t=64240
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 10.04.2020, 13:05   #9
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Я понял так:
Есть марки по цене 23, 26, 29, ...62 руб. - шаг 3.
Конвертов 402. Общая сумма 20126 руб.
необходимо решить систему:
20126 = 23*n1 + 26*n2 + ... 62*n13
402 = n1 + n2 + ... n13
где ni - число конвертов с соответствующей ценой.

Это так?
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 11.04.2020, 16:12   #10
fizmatfmo03
 
Регистрация: 08.04.2020
Сообщений: 4
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Это так?
да это так
fizmatfmo03 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование в Delphi artiom4356 Фриланс 0 30.05.2014 18:29
программирование в delphi melkaya9112 Помощь студентам 6 09.12.2010 20:49
Delphi программирование Ericnex Общие вопросы Delphi 5 19.05.2010 19:58
Программирование на Delphi thebestneo Фриланс 3 03.02.2010 19:41
Программирование на Delphi на ПКП LeoN Общие вопросы Delphi 2 09.02.2008 03:40