1.从1到15中任选5个不同的数,求其和为25至50其中任一数的组合
2.用VB编写,要求结果能分屏显示,并能打印出来

解决方案 »

  1.   

    for i=1 to 15
        for j=1 to 15
             for l=1 to 15
                 for m=1 t0 15
                    for n=1 to 15
                       k=n+m+l+j+i
                       if k<25 or k>50
                         exit for
                     next
                 next
              next
          next
      next
    me.printform匆匆的想了一下。。   
      

  2.   

    dim A as integer
    dim B as integer
    dim C as integer
    dim D as integer
    dim E as integer
    dim sum as integeropen app.path & "sum.txt" for append as #1
    for A = 1 to 15
       for B = 1 to 15
          for C = 1 to 15
              for D = 1 to 15
                 for E = 1 to 15
                   sum = A + B + C + D + E
                   if sum >=25 and sum <=50 then                  
                       print #1, A & "+" & B & "+" & C & "+" & D & "+" & E & "=" & sum
                       print #1,
                   end if                
                 next E
              next D
          next C
       next B
    next A
    close #1
      

  3.   

    for i=5 to 10
        for j=5 to 10
             for l=5 to 10
                 for m=5 t0 10
                    for n=5 to 10
                       k=n+m+l+j+i
                       if k<25 or k>50
                         exit for
                     next
                 next
              next
          next
      next
    me.printform
      

  4.   

    修改一句("sum.txt"未加上斜杠):
    Open App.Path & "\sum.txt" For Append As #1
      

  5.   

    naojin(脑筋) 再想就错了。、
      

  6.   

    不得了,调试结果:打印出来的sum.txt有10兆大。不应该加那一句分行代码(print #1,)
      

  7.   

    Private Sub Command1_Click()
    Dim II As Long, JJ As Long, NN As Long, KK As Long, MM As Long
    Dim Sum As Long
    Open "D:\Sum.Txt" For Output As #1
    For II = 1 To 11
        For JJ = (II + 1) To 12
            For NN = (JJ + 1) To 13
                For KK = (NN + 1) To 14
                    For MM = (KK + 1) To 15
                        Sum = II + JJ + NN + KK + MM
                        If Sum >= 25 And Sum <= 50 Then
                            Print #1, II & "+" & JJ & "+" & NN & "+" & KK & "+" & MM & "=" & Sum
                        End If
                    Next
                Next
            Next
        Next
    Next
    Close #1
    End Sub呵呵,必须按顺序排列后才可以保障
    1、数字之间不重复 2+1+2....是不可以的
    2、排列之后不重复 1+2+3和3+2+1是不可以的分数给偶哩
      

  8.   

    Private Sub Command1_Click()
      Dim i1, i2, i3, i4, i5 As Integer
      Dim sum As Integer
      For i1 = 1 To 15
       For i2 = i1 + 1 To 15
          For i3 = i2 + 1 To 15
              For i4 = i + 3 To 15
                 For i5 = i4 + 1 To 15
                   sum = i1 + i2 + i3 + i4 + i5
                   If sum >= 25 And sum <= 50 Then
                       If i1 <> i2 And i1 <> i3 And i1 <> i4 And i1 <> i5 And i2 <> i3 And i2 <> i4 _
                      And i2 <> i5 And i3 <> i4 And i3 <> i5 And i4 <> i5 Then
                       List1.AddItem sum & "=" & i1 & "+" & i2 & "+" & i3 & "+" & i4 & "+" & i5
                       End If
                   End If
                 Next i5
              Next i4
          Next i3
       Next i2
    Next i1End Sub
      

  9.   

    lovingkiss(交流技术不要分,请勿联系) ,你的效率不高,我给你改了改,好多了!!!!!
    Dim A As Integer
    Dim B As Integer
    Dim C As Integer
    Dim D As Integer
    Dim E As Integer
    Dim sum As IntegerOpen App.Path & "\sum.txt" For Output As #1
    For A = 1 To 15
       For B = 1 To 15
          For C = 1 To 15
              For D = 1 To 15
                 For E = 1 To 15
                   sum = A + B + C + D + E
                   If sum >= 25 And sum <= 50 Then
                       Print #1, A & "+" & B & "+" & C & "+" & D & "+" & E & "=" & sum
                       Exit For
                   End If
                 Next
              Next
          Next
       Next
    Next
    Close #1
      

  10.   

    plpq(游来游去)——你的程序运行过么??第一个数是不可能到达15的,小笨笨,嘿嘿~~
      

  11.   

    lovingkiss(交流技术不要分,请勿联系) ,你的效率不高,我改了改,比你好多了
    Dim A As Integer
    Dim B As Integer
    Dim C As Integer
    Dim D As Integer
    Dim E As Integer
    Dim sum As IntegerOpen App.Path & "\sum.txt" For Output As #1
    For A = 1 To 15
       For B = 1 To 15
          For C = 1 To 15
              For D = 1 To 15
                 For E = 1 To 15
                   sum = A + B + C + D + E
                   If sum >= 25 And sum <= 50 Then
                       Print #1, A & "+" & B & "+" & C & "+" & D & "+" & E & "=" & sum
                       Exit For
                   End If
                 Next
              Next
          Next
       Next
    Next
    Close #1
      

  12.   

    一看你就不算好程序员1、5个循环是1——15,算法错误;明显的逻辑错误;
    2、变量的声明,A、B并非整形声明方式,I-N原则应该懂罢,我也有点模糊了,但是变量还是略微的规范点好;
    3、整形变量,在VB6中使用Long比使用Int要快,因为Int需要截取不用的一半,在Vb.Net下Int要比Long快首先你要明白,看看自己写出来的东西,有没有重复的地方阿5、5、5、5、5肯定符合你的要求,但是已经重复了,不是么??
      

  13.   

    qingming81(晴明) ,如果只是数字不重复的话那么只有一种可能,出题的是个笨蛋~~——当然,也有这种可能这道题的难度就明显的降低了,也就没有什么研究的价值了,是罢
      

  14.   

    A最多到8,B最多到10,c最多到13,D最多到14,E最多到15,其余同意lovingkiss(交流技术不要分,请勿联系)
      

  15.   


    Private Sub Form_Load()
    Dim A As Integer
    Dim B As Integer
    Dim C As Integer
    Dim D As Integer
    Dim E As Integer
    Dim sum As IntegerOpen App.Path & "\sum.txt" For Output As #1
    For A = 1 To 8
       For B = A + 1 To 10
          For C = B + 1 To 13
              For D = C + 1 To 14
                 For E = D + 1 To 15
                   sum = A + B + C + D + E
                   If sum >= 25 And sum <= 50 Then
                       Print #1, A & "+" & B & "+" & C & "+" & D & "+" & E & "=" & sum
                       Exit For
                   End If
                 Next
              Next
          Next
       Next
    Next
    Close #1End Sub
      

  16.   

    弄错了,我得debug屏幕不够
    只拷出了一部分
      

  17.   

    lovingkiss(交流技术不要分,请勿联系):我确实不是个好程序员。------我是个爱偷懒的程序员!其他两个家伙都在照搬我的,没有想到比我懒的人还有的是啊!  :)
    我很开心,比你不如,比其他有余也!
      

  18.   

    下午刚要帖的时候就吊线了;现在补上 在qingming81(晴明)老兄的基础上修改:
    dim A as integer
    dim B as integer
    dim C as integer
    dim D as integer
    dim E as integer
    dim sum as integeropen app.path & "\sum.txt" for append as #1
    for A = 1 to 15
       for B = B to 15
          for C = C to 15
              for D = D to 15
                 for E = E to 15
                   sum = A + B + C + D + E
                   if sum >=25 and sum <=50 then                  
                       print #1, A & "+" & B & "+" & C & "+" & D & "+" & E & "=" & sum
                   end if                
                 next E
              next D
          next C
       next B
    next A
    close #1将数字按从小到大的顺序排列就不会存在数据重复的问题
      

  19.   

    可以看出lovingkiss(交流技术不要分,请勿联系)是错误的,HOHO!
      

  20.   

    lovingkiss(交流技术不要分,请勿联系):你好COOL啊。佩服~佩服~。假如把题目改成数字可以重复,那又要怎么写呢?我想了半天也想不出来。还是请你告诉大家吧~!谢谢了。
      

  21.   

    跟据楼上各位的代码,本人做了修改。Private Sub Command2_Click()
    Open App.Path & "\sum.txt" For Append As #1
    For n = 25 To 50    
     For A = 1 To 15
       For B = 2 To 15
          For C = 3 To 15
              For D = 4 To 15
                 For E = 5 To 15
                   sum = A + B + C + D + E
                   If sum = n And B > A And C > B And D > C And E > D Then
                       Print #1, A & "+" & B & "+" & C & "+" & D & "+" & E & "=" & sum
                   End If
                 Next E
              Next D
          Next C
       Next B
    Next A
    Print #1, ""
    Next n
    Close #1End Sub
      

  22.   

    martmy(白金汉公爵) ,正确错误不是你说了算,弄了一堆所谓的结果给人家,就算是完成了你的编程??你去应聘是否也这样??lnhsgj(黑鹰),你看懂了上边的那些流程了么??
    rawjim(以前经常旷课),谢谢你的谬奖——不写了,没意思了,这么多人认真去思考却没有几个~~嘿嘿~~写了也没意思~~
      

  23.   

    仔细看了题目,确实是lovingkiss(交流技术不要分,请勿联系)的正确的!lnhsgj(黑鹰)的也算好的,这也是一种方法呀。其它的照搬还要出错,应该倒扣分!
      

  24.   

    SHIT,谁删我帖子了,我昨天回复的帖子怎么没了?我第一次发的打错了字,
    第七行应为i4=i3+1,虽然不是什么好方法,结果应该也是可以实现。我改过的帖子怎么不见了,YM!还有一点,我并没有搬谁的帖子,只是帖之前,有事出去一下,结果回来贴出时,居然有了大同小异的帖子。我贴出来只是大家互相交流一下,改正不足。不希罕给不给分!
      

  25.   

    dim A as integer
    dim B as integer
    dim C as integer
    dim D as integer
    dim E as integer
    dim sum as integeropen app.path & "\sum.txt" for append as #1
    for A = 1 to 11
       for B = A to 12
          for C = B to 13
              for D = C to 14
                 for E = D to 15
                   sum = A + B + C + D + E
                   if sum >=25 and sum <=50 then                  
                       print #1, A & "+" & B & "+" & C & "+" & D & "+" & E & "=" & sum
                   end if                
                 next E
              next D
          next C
       next B
    next A
    close #1
      

  26.   

    dim A as integer
    dim B as integer
    dim C as integer
    dim D as integer
    dim E as integer
    dim sum as integeropen app.path & "\sum.txt" for append as #1
    for A = 1 to 11
       for B = A to 12
          for C = B to 13
              for D = C to 14
                 if A+B+C+D<10 Exit for
                 for E = D to 15
                   sum = A + B + C + D + E
                   if sum >=25 and sum <=50 then                  
                       print #1, A & "+" & B & "+" & C & "+" & D & "+" & E & "=" & sum
                   end if                
                 next E
              next D
          next C
       next B
    next A
    close #1
      

  27.   

    这才是正确答案dim A as integer
    dim B as integer
    dim C as integer
    dim D as integer
    dim E as integer
    dim sum as integeropen app.path & "\sum.txt" for append as #1
    for A = 1 to 15
       for B = 1 to 15
          if B=A then exit for
          for C = 1 to 15
              if C=A or C=B then exit for
              for D = 1 to 15
                 if D=C or D=B or D=A then exit for
                 for E = 1 to 15
                   if E=D or E=C or E=B or E=A then exit for
                   sum = A + B + C + D + E
                   if sum >=25 and sum <=50 then                  
                       print #1, A & "+" & B & "+" & C & "+" & D & "+" & E & "=" & sum
                   end if                
                 next E
              next D
          next C
       next B
    next A
    close #1