求帮忙一个排列组合程序
条件:a,b,c,d四个整数,a<b,c<da的取值范围3-40
b的取值范围35-100
c的取值范围10-45
d的取值范围40-100
f=(b/a)*(d/c)
如果7.70<f<7.75
则列出a,b,c,d
应该不止一组数据。
这个程序应该怎么写啊,求高手帮忙,
程序代码:Private Sub Command1_Click()
Dim a&, b&, c&, d& '四个循环变量
Dim f As Single '中间值
Dim fs As String
fs = App.Path '生成临时文件路径
If Right(fs, 1) <> "\" Then '生成临时文件名
fs = fs & "\tmp.txt"
Else
fs = fs & "tmp.txt"
End If
Open fs For Output As #1 '打开临时文件
For a = 3 To 40 '四个循环
For b = 35 To 100
For c = 10 To 45
For d = 40 To 100
If b > a And d > c Then '符合条件
f = (b / a) * (d / c) '计算中间值
If f > 7.7 And f < 7.75 Then '在范围中
Print #1, "a,b,c,d="; a; b; c; d, "f="; f '保存结果
End If
End If
Next d
Next c
Next b
Next a
Close #1 '关闭临时文件
DoEvents '确保写完
Shell "cmd /c start " & fs, vbHide '显示临时文件内容
End Sub
