Показать сообщение отдельно
  #5  
Старый 07.11.2011, 01:47
U.B.M. U.B.M. вне форума
Новичок
 
Регистрация: 06.10.2011
Сообщения: 94
Версия Delphi: Delphi 7
Репутация: 13
По умолчанию

Цитата:
Сообщение от LelikBolik
Необходимо переделать под поиск оптимальной суммы вещественных чисел с наименьшей погрешностью, хотябы до 4 знака после запятой?

Число 11 из чисел 2, 4, 6, например, не соберешь... не говоря про первый знак после запятой. Тут как фишка ляжет с числами

А теперь по-существу.

1. Есть число Х0 и числа х1, х2, х3...
2. Для каждого числа х1,х2,х3... рассчитываем число, назовем его, а1,а2,а3,...
Код:
var
  a : array of integer;
  x : array of real;
  X0 : real;
  i : integer;
begin
  ... 
  for i := 1 to length(x) do
    a[i] := X0 div x[i];
  ...
3. Далее считаем выражения х1*b1+x2*b2+..., где 0 <= b1 <= a1 и т.д.. Находим наиболее приближенное.
4. Бурно радуемся по поводу полученного результата

П.С. Пункт 3 конечно можно оптимизировать, но в 2 ночи не хочу насоветовать чего-нить не того
Ответить с цитированием