输入 ① 1 8 输出0.125
输入 ② 2 7 输出0.{285714} 完善程序
问题描述:工厂在每天的生产中,需要一定数量的零件,同时也可以知道每天生产一个零件的生产单价。在n天的生产中,当天生产的零件可以满足当天的需要,若当天用不完,可以放到下一天去使用,但要收取每个零件的保管费,不同的天收取的费用也不相同。(3×5=15分) 问题求解:求得一个n天的生产计划(即n天中每天应生产零件个数),使总的费用最少。 输入:n(天数n<=29)
每天的需求量(n个整数) 每天生产零件的单价(n个整数) 整数)
输出:每天的生产零件个数(n个整数) 例如:当n=3时,其需要量与费用如下: 需要量 第一天 第二天 第三天 25 15 30 l0 30 32 0 每天保管零件的单价(n个
生产单价 20 保管单价 5 生产计划的安排可以有许多方案,如下面的三种: 第一天 第二天 第三天 总的费用 25 40 70 15 0 0 30 30 0 25*2o+15*30+30*32=1910 40*20+15*5+30*32=1835 70*20+45*5+30*10=1925 c[n]:每天生产零件的单价
d[n]:每天保管零件的单
程序说明:
b[n]:存放每天的需求量 价 e[n]:生产计划 var
i,j,n,yu,j0,j1,s:integer;
b,c,d,e: array[0..30]of integer; begin
readln(n);
for i:=1 to n do readln(b[[i],c[i],d[i]]; fori:=1 to n do e[i]:=0;
c[n+1]:=10000;c[n+2]:=0;b[n+1]:=0;jo:=1; while (jo<=n)do begin
yu:=c[j0]; j1:=jo; s:=b[j0]; while (yu+d[j1] yu:=yu+d[j1]; j1:=j1+1;s:=s+b[j1]; end; e[j0]:=s; jo:=j1+1; end; for i:=1 to n do write(e[i]:4); readln; end.