求一个算法。接近一个固定值。(200分)

  • 主题发起人 主题发起人 nightwatch
  • 开始时间 开始时间
N

nightwatch

Unregistered / Unconfirmed
GUEST, unregistred user!
大家帮个忙。

A B C D 为常数,x1 x2 x3 x4 为变量。

要求Ax1+Bx2+Cx3+Dx4 求和,最接近一个固定值。

求x1 x2 x3 x4 .

谢谢啊。
 
对x1,x2,x3,x4的值有什么限制吗?
 
Ax1 是常数乘变量吗?
 
看不懂楼主的意思,我的文化水平低。
 
x1,x2,x3,x4应该有限制把,要不肯定无数解,
比如都是整数的,什么限制?
 
[:D]
Ax1+Bx2+Cx3+Dx4 = SUM
肯定是我理解错了,你再重新贴一下
A=B=C=D= SUM/(x1+x2+x3+x4)

哈,我肯定是理解错了,不然怎么会这么简单
 
呵呵,不好意思,是我没说清楚。举个例子:
苹果1元/斤,梨2元/斤,香蕉3元/斤,荔枝5元/斤。
我有100元,各买多少斤(要整数)使得总和最接近于100元。
这问题应该如何下手?
 
有一点像百钱百鸡问题了。
下面只是最简单的判断,按你这道题来说,如果每种都要买到的话就像下面:
var
a,b,c,d,total:integer;
begin
for a:=1 to 99 do
begin
for b:=1 to 49 do
begin
for c:=1 to 33 do
begin
for d:=1 to 19 do
begin
total:=a+2*b+3*c+5*d;
if total=100 then memo1.Lines.Add(inttostr(a)+'*'+inttostr(b)+'*'+inttostr(c)+'*'+inttostr(d));
end;
end;
end;
end;
end;
已经有非常多组解了,这个程序可以改细致一点,比如说如果加起来到100的确实无解,就把100-1后再算,如果还未有解,再-1,直到出来有结果为止。
 
应该是运筹学里面的线性规划问题,你找找书吧!都忘光了。
 
嘿嘿,就是忘了才来请求大家的嘛,这里有人才呀。
问问weiliu,99,49,33,19是如何来的?
我遇到的“水果”种类也不是只4种,有可能要变化的。
 
那几个数就是依你的价格来算,每种最多买多少啊。
 
就是就是。
 
weiliu,再给写一段任意“水果”品种的程序吧,帮人帮到底吧。
 
谢谢大家。
 
后退
顶部