1.将一根长为369cm的钢管截成长为69cm和39cm两种规格的短料。在这两种规格的短料至少各截一根的前提下, 如何截才能余料最少。
解:设两种规格的短料分别为:
规格为69cm的x根,可在1至(369-39)/69范围循环取值;
规格为39cm的y根,用y = (369-69*X)/39)计算;
余料R=369-69*X-39*Y。
①设最小余料的初始值min=369;
②在X循环范围内,每一个X值都计算出对应的Y和R;
③如果R<min, 就将R存入min, x存入n, y存入m,记录余料最小时的x和y ;
④重复步骤②,当x值超出 ((369—39)/ 69) 时结束循环。
#include<iostream.h>
void main()
{
int x,y,r,min=369,n,m;
for(x=1;x<=(369-39)/69;x++)
{
y=(369-69*x)/39;
r=369-69*x-39*y;
if(r<min)
{
min=r;n=x;m=y;
}
}
cout<<"n="<<n<<"m="<<m<<"min="<<min<<endl;
}