求帮忙一个排列组合程序
条件: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