中易网

VB整数的拆分

答案:1  悬赏:10  
解决时间 2021-01-11 18:34
  • 提问者网友:王者佥
  • 2021-01-11 09:31
VB整数的拆分
最佳答案
  • 二级知识专家网友:我住北渡口
  • 2021-01-11 11:06
Const maxn = 100
Dim a%(maxn), t%, n%
Sub comb(ByVal m%, ByVal k%, ByVal s%)
    Dim i%, j%
    For i = m To k Step -1
        a(k) = i
        If k > 1 Then
            comb i - 1, k - 1, s
        Else
            t = 0
            For j = a(0) To 0 Step -1
                t = t + a(j)
            Next
            If t = s Then
                n = n + 1: Debug.Print s; "=";
                For j = a(0) To 2 Step -1
                    Debug.Print a(j); "+";
                Next
                Debug.Print a(1)
            End If
        End If
    Next
End Sub
Sub main()
    Dim ms%, ss%, i%, h%, k%, wmin%, wmax%
    ss = InputBox("ss")
    ms = InputBox("ms")
    For i = 1 To ms
        h = h + i
        If h > ss Then wmax = i - 1: Exit For
    Next
    If i > ms Then
        Debug.Print "..."
        End
    End If
    h = 0
    For i = 1 To ms
        h = h + (ms - i + 1)
        If h > ss Then wmin = i - 1: Exit For
    Next
    For k = wmin To wmax
        a(0) = k
        comb ms, k, ss
    Next
    Debug.Print "n="; n
End Sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息