早教吧 育儿知识 作业答案 考试题库 百科 知识分享

西工大VB最难的POJ水题之《钢管》,有一根长为n米的钢管(n>=44),要将它截取成两种规格的短钢管,规格长度分别为17米和27米,每种至少一段,问分割成27米多少段?分割成17米多少段?剩余残料多

题目详情
西工大VB最难的POJ水题之《钢管》,
有一根长为n米的钢管(n>=44),要将它截取成两种规格的短钢管,规格长度分别为17米和27米,每种至少一段,问分割成27米多少段?分割成17米多少段?剩余残料多少?(要求残料最少)
要求:调用inputbox输入n的值,调用print 方法在窗体默认位置输出 27米钢管根数,17米钢管根数,残料为多少
▼优质解答
答案和解析
这个是大学里VB的最难的题目啊?
我的高中学生都会做:
Private Sub Command1_Click()
Dim L As Integer
Dim i As Integer
Dim j As Integer
Dim d27() As Integer
Dim d17() As Integer
Dim dMin() As Integer
Dim k As Integer
Dim n As Integer
n = 0
L = Val(InputBox("请输入钢管的长度"))
Mymin = L
For i = 1 To (L - 17) \ 27
For j = 1 To (L - 27) \ 17
If L - i * 27 - j * 17 >= 0 Then
n = n + 1
ReDim Preserve d27(1 To n) As Integer
ReDim Preserve d17(1 To n) As Integer
ReDim Preserve dMin(1 To n) As Integer
d27(n) = i
d17(n) = j
dMin(n) = L - i * 27 - j * 17
If dMin(n) < Mymin Then
Mymin = dMin(n)
k = n
End If
End If
Next j
Next i
Cls
Print "27米长:"; d27(k); "根"
Print "17米长:"; d17(k); "根"
Print "残料为最少:"; dMin(k); "米"
End Sub
看了西工大VB最难的POJ水题之《...的网友还看了以下: