在窗体中有一个文本框和命令按扭。在适当的事件过程中编写代码,使得程序运行时,当点击按钮的时候,程序计算1000之内所有能同时被3和7除尽的整数的和,并将结果显示在文本框中,运行时的窗体如图所示。

解决方案 »

  1.   

    Private Sub Command1_Click()
    text1.text=cstr(((1000 - (1000 Mod 21)) + 21) * (1000 \ 21) / 2)
    End Sub
      

  2.   

    Option ExplicitPrivate Sub Command1_Click()
        Dim i As Integer
        Dim x As Long
        x = 0
        For i = 1 To 1000
            If i Mod 3 = 0 And i Mod 7 = 0 Then
                x = x + i
            End If
        Next
       Text1.Text = x
    End Sub
      

  3.   

    锻炼你的编程思路,不是考你数学,
    能被3与7同时整除,一定是21的整数倍
    用个循环从1加倒47,最后乘以21Private Sub Command1_Click()
        Dim i As Integer
        Dim x As Long
        x = 0
        For i = 1 To 47
            x = x + i
        Next
        x = x * 21
        Text1.Text = x
    End Sub
      

  4.   

    借花献佛,借lv1(CODER不易做)的代码,改了下,呵呵~
      

  5.   

    Private Sub Command1_Click()
    Dim I As Integer, vsSum As Integer    For I = 1 To 1000
            If I Mod 3 = 0 And I Mod 7 = 0 Then
                vsSum = vsSum + I
            End If
        Next I
        'MsgBox vsSum   '''vsSum为23688
        Text1.Text = vsSum
    End Sub
      

  6.   

    Private Sub Command1_Click()
        '21*1 +21 *2 +....+21*47
        
        Text1.Text = CLng(21) * (1 + 47) * 47 / 2
    End Sub
      

  7.   

    简单问题,不过还是要顶顶viena(EQ<0)的算法
    1000的数字可能比较不出 viena 和lv1的差别,1000万次内的数字二种算法效率的差异就显现了。个人认为viena算是一种有“思想”的算法,是我要努力的方面,所以顶了,呵呵。
      

  8.   

    简单问题,不过还是要顶顶viena(EQ<0)的算法
    1000的数字可能比较不出 viena 和lv1的差别,1000万次内的数字二种算法效率的差异就显现了。个人认为viena算是一种有“思想”的算法,是我要努力的方面,所以顶了,呵呵。
    ------------------------------------
    完了,随便写了下成没思想了,我努力的方向是客户需要的方向,自己的思想早被客户磨光了.对于楼主这种客户,可能将将能看的懂偶的写法,要看viena的写法估计真要问viena哪个47是怎么出来的了.其实客户满意的算法才是最有效率的.
      

  9.   

    TO lv1:我只是论上面的代码说话,你的代码就LZ而言简单明了。而viena和yimain的代码是进一步动了脑筋的代码,我说所谓有“思想”不为过吧?就象从1+2+...+100,有人就顺着加,有人用50*100+50,我想你也会赞一下后者吧。47那儿来的? 1000\(3 * 7)我想LZ也不难理解吧?其它不想说了,我不是专业程序员,严格的说是个程序员的客户,没说你没思想,更无意和你争论,如有得罪这处,多多包函!
      

  10.   

    楼上的既然这么说那我真要好好论论了,我也就随便说了两句,根本没说什么出格的话啊,怎么感觉你句句都是火气啊...
    要说写法,我自认为偶的写法效率是比那种写法低,但是也不至于沦落到没思想的地步吧,就这道题,你给10个coder写,8个会写成跟我一样,原因是coder的思路就是那样了,如果想进一步追求效率才在原来基础上改进.
    给打个比方吧,上面的写法就好比偶炒了盘青菜豆腐,味道一般.突然来了个家伙在这盘菜上放了两跟葱,食客就说后来的家伙比较有思想,那偶就比较委屈了.虽然这根葱比偶的白菜还好吃,但跟思想扯上关系偶就有些不高兴了,更何况楼上的还说是程序员的客户.客户只看结果不看过程的,遇到个不吃葱的客户就知道孰好孰坏了...
      

  11.   

    Private Sub Command1_Click()
        Text1.Text = 23688
    End Sub最有效率的写法,靠,谁要写出比这更有效率的我跟谁姓,够不够有思想啊
      

  12.   

    Private Sub Command1_Click()
        Text1.Text = 23688
    End Sub//最有效率的写法,靠,谁要写出比这更有效率的我跟谁姓,够不够有思想啊这并不是最有效率的,要经过一个Integer到String的自动转换过程
    Text1.Text = "23688"
    更有效率,呵呵~
      

  13.   

    Private Sub Command1_Click()
    Dim sum
    sum = 0
    For i = 1 To 1000
    If (i Mod 3) = 0 And (i Mod 7) = 0 Then
    sum = sum + i
    End If
    Next
    Text1.Text = sum
    End Sub
      

  14.   

    大家想想现在的CPU啊。。一个1000内的for语句不用一移。。就搞定你们了。。还有慢吗?真是的!
      

  15.   

    这并不是最有效率的,要经过一个Integer到String的自动转换过程
    Text1.Text = "23688"
    更有效率,呵呵~
    -----------------------------------------------------------
    其实我写完就发现问题了,应该加引号的....555555555555,以后偶吃亏点,让你姓偶的姓吧,偶的姓很牛的,偶祖上大闹过天宫,推翻过满清,挖过秦始皇的墓,上过路遥的书.这样就不算偶说话不算话了吧,hoho
      

  16.   

    Text1.Text = CLng(21) * (1 + Int(1000 / 21)) * Int(1000 / 21) / 2