Pascal完善程序,剪绳子,二分法2、剪绳子: 有n根长短不一的绳子,要将它们剪成长度相同的n根绳子,并且使它们尽可能长.下面的程序彩二分法. 设:ans为所求长度;min、max分别为ans寻求长度区
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/07 00:51:55
![Pascal完善程序,剪绳子,二分法2、剪绳子: 有n根长短不一的绳子,要将它们剪成长度相同的n根绳子,并且使它们尽可能长.下面的程序彩二分法. 设:ans为所求长度;min、max分别为ans寻求长度区](/uploads/image/z/12662456-32-6.jpg?t=Pascal%E5%AE%8C%E5%96%84%E7%A8%8B%E5%BA%8F%2C%E5%89%AA%E7%BB%B3%E5%AD%90%2C%E4%BA%8C%E5%88%86%E6%B3%952%E3%80%81%E5%89%AA%E7%BB%B3%E5%AD%90%EF%BC%9A+%E6%9C%89n%E6%A0%B9%E9%95%BF%E7%9F%AD%E4%B8%8D%E4%B8%80%E7%9A%84%E7%BB%B3%E5%AD%90%2C%E8%A6%81%E5%B0%86%E5%AE%83%E4%BB%AC%E5%89%AA%E6%88%90%E9%95%BF%E5%BA%A6%E7%9B%B8%E5%90%8C%E7%9A%84n%E6%A0%B9%E7%BB%B3%E5%AD%90%2C%E5%B9%B6%E4%B8%94%E4%BD%BF%E5%AE%83%E4%BB%AC%E5%B0%BD%E5%8F%AF%E8%83%BD%E9%95%BF.%E4%B8%8B%E9%9D%A2%E7%9A%84%E7%A8%8B%E5%BA%8F%E5%BD%A9%E4%BA%8C%E5%88%86%E6%B3%95.+%E8%AE%BE%EF%BC%9Aans%E4%B8%BA%E6%89%80%E6%B1%82%E9%95%BF%E5%BA%A6%EF%BC%9Bmin%E3%80%81max%E5%88%86%E5%88%AB%E4%B8%BAans%E5%AF%BB%E6%B1%82%E9%95%BF%E5%BA%A6%E5%8C%BA)
Pascal完善程序,剪绳子,二分法2、剪绳子: 有n根长短不一的绳子,要将它们剪成长度相同的n根绳子,并且使它们尽可能长.下面的程序彩二分法. 设:ans为所求长度;min、max分别为ans寻求长度区
Pascal完善程序,剪绳子,二分法
2、剪绳子:
有n根长短不一的绳子,要将它们剪成长度相同的n根绳子,并且使它们尽可能长.下面的程序彩二分法.
设:ans为所求长度;min、max分别为ans寻求长度区间的左界、右界.
1、将ans定在当前min至max的中间位置.
2、若以ans为长度能够剪出n根绳子,说明ans可能加长,则将min调整为ans,否则说明ans
应当减小,将max调整为ans-1.
反复做1、2两步,直至min与max重合,此时ans即为所求的最大长度. Var n,min,max,i,ans,s:integer; a:array[1..100] of integer; begin
readln(n);
min:=maxint;
max:=1;
for i:=1 to n do
begin
read(a[i]);
if a[i]>max then max:=a[i];
end;
repeat
ans:=
s:=0;
for i:=1 to n do
s:= ;
if then min:=ans
else max:=ans-1;
until
writeln(min);
End.
怎么做!对了加分!
Pascal完善程序,剪绳子,二分法2、剪绳子: 有n根长短不一的绳子,要将它们剪成长度相同的n根绳子,并且使它们尽可能长.下面的程序彩二分法. 设:ans为所求长度;min、max分别为ans寻求长度区
Var n,min,max,i,ans,s:integer;
a:array[1..100] of integer;
begin
readln(n);
min:=maxint;
max:=1;
for i:=1 to n do begin
read(a[i]);
if a[i]>max then max:=a[i];
end;
repeat
ans:=s;
s:=0;
for i:=1 to n do
s:=s+1;
if min