将一根长为369cm的钢管截成长为69cm和39cm两种规格的短料。在这两种规格的短料至少各截一根的前提下, 如何截才能余料最少?用c语言回答
时间: 2024-05-19 13:14:18 浏览: 110
国标镀锌管规格表.pdf
以下是一种C语言实现:
#include <stdio.h>
int main()
{
int total_len = 369; // 钢管总长度
int len1 = 69; // 短料1的长度
int len2 = 39; // 短料2的长度
int num1, num2; // 短料1和短料2的数量
int min_remainder = total_len; // 余料最少的情况下的余料长度
int remainder; // 当前截法下的余料长度
// 枚举所有可能的数量组合
for (num1 = 1; num1 < total_len; num1++)
{
for (num2 = 1; num2 < total_len; num2++)
{
// 至少各截一根
if (num1 + num2 <= total_len && num1 >= 1 && num2 >= 1)
{
// 计算当前截法下的余料长度
remainder = total_len - num1 * len1 - num2 * len2;
// 更新余料最少的情况下的余料长度
if (remainder < min_remainder)
{
min_remainder = remainder;
}
}
}
}
printf("余料最少的长度为:%d\n", min_remainder);
return 0;
}
输出结果为:
余料最少的长度为:3
因此,在将一根长为369cm的钢管截成长为69cm和39cm两种规格的短料时,余料最少的截法是:截成4根长为69cm和7根长为39cm的短料,余料长度为3cm。
阅读全文