作业帮 > 综合 > 作业

用free pascal语言的直到型循环解下面这道题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 15:03:52
用free pascal语言的直到型循环解下面这道题
将一根369米长的钢管截成长为69米和39米两种规格的短料,在这两种规格的短料至少各截一根的前提下,如何截才能使余料最少?
program JGG;
const l=369;l1=69;l2=39;
var i,m1,m2,my,yl: Integer;
begin
my := l;
yl := l;
for i := 1 to (l div l1) do begin
yl := yl - i * l1;
yl := yl - (yl div l2) * l2;
if (yl > 0) and (yl < my) then begin
m1 := i;
m2 := (l - i * l1 - yl) div l2;
my := yl;
end;
end;
writeln('369=',m1,'*69+',m2,'*39 ... ',my);
readln;
end.
//369=1*69+7*39 ... 27
再问: 能不能用repeat呢?题目要求这么用
再答: program JGG; const l=369;l1=69;l2=39; var i,m1,m2,my,yl: Integer; begin my := l; yl := l; i := 1 repeat yl := yl - i * l1; yl := yl - (yl div l2) * l2; if (yl > 0) and (yl < my) then begin m1 := i; m2 := (l - i * l1 - yl) div l2; my := yl; end; Inc(i); until i