当前位置:编程学习 > C#/ASP.NET >>

VB的题目,过来帮个忙了!

1、设计一个求两个数的最大公约数和最小公倍数的小程序,要求能对输入的数据自动计算出它们的最大公约数和最小公倍数。
2、设计一个求素数的程序,要求能求出任意范围N以内的素数,N由用户输入,给出计算结果。
--------------------编程问答-------------------- --------------------编程问答-------------------- up --------------------编程问答-------------------- 我不明白要怎么编程了~! --------------------编程问答-------------------- 第二题比较简单,笨一点的办法,就是从n除以2循环到n-1,余数都不等于零就是素数 --------------------编程问答-------------------- 第一题:
先对第一个数循环求余,余数为零的都是他的约数,选个最大的
对第二个数同样操作,然后和第一个数的大的数比较,较小的就是最大公约数

求出最大公约数后,最大公倍数=(第一个数×第二个数)÷最大公约数 --------------------编程问答-------------------- 求最大公约数 最小公倍数
新建一个WIN窗体  Form1
添加一个Button,二个 NumericUpDown,一个Label

添加代码




Public Class Form1



    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        NumericUpDown1.Maximum = 100000 '定义输入的2个数的最大值(自己定)  用NumericUpDown的好处是
        NumericUpDown2.Maximum = 100000 '你输入字母啥的 他不承认 ,直接把范围限定在数字上^_^
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        '按下按钮后 接收NumericUpDown1 和2 的值
        Dim 第一个数, 第二个数, a, b, 最大公约数 As Long
        第一个数 = NumericUpDown1.Value
        第二个数 = NumericUpDown2.Value
        '最大公约数:如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。
        '几个自然数公有的约数,叫做这几个自然数的公约数。
        '公约数中最大的一个公约数,称为这几个自然数的最大公约数。



        If 第一个数 < 第二个数 Then '首先判断这2个数的大小,因为最小的数 可能就是这2个数的最大公约数,比如3和6
            a = 第一个数            '我们叫a为2个数中较小的数,b为较大的数
            b = 第二个数
        Else
            a = 第二个数
            b = 第一个数
        End If

        Dim iCount As Long
        For iCount = 1 To a '除数为从1到两个数中最小的数 做循环
            If a Mod iCount = 0 And b Mod iCount = 0 Then '如果能同时被 a和b 整除 那么他就是公约数
                最大公约数 = iCount                      '因为除数是依次递加的,那么最后一次得到的公约数 就是最大公约数
            End If

        Next

        Label1.Text = CStr(第一个数) + "和" + CStr(第二个数) + "的最大公约数为:" + CStr(最大公约数) ' 输出结果

    End Sub
End Class


--------------------编程问答-------------------- 求素数
新建一个WIN窗体  Form1 
添加一个Button,一个 NumericUpDown,一个Richtextbox
添加代码 

Public Class Form1



    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        NumericUpDown1.Maximum = 100000 '定义输入的2个数的最大值(自己定)  用NumericUpDown的好处是

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim N As Long
        N = NumericUpDown1.Value '赋值于N

        '质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
        '换句话说,只有两个正因数(1和自己)的自然数即为素数。

        Dim iCount, jCount As Long
        Dim 约数的数量 As Long

        For iCount = 2 To N   '第一层循环是被除数 范围是2到N
            For jCount = 1 To iCount   '第二层循环为除数 范围是2到被除数
                If iCount Mod jCount = 0 Then  '如果 除数/被除数 可以整除,那么约数的数量就加1
                    约数的数量 += 1
                End If
            Next
            If 约数的数量 = 2 Then   '根据定义 约数只有1个他本身的话 说明约数只有2个
                RichTextBox1.AppendText(CStr(iCount) + ",") ' 将符合条件的数字 输出
            End If
            约数的数量 = 0 '  约数的数量  归0,进入下次循环
        Next


    End Sub
End Class


--------------------编程问答-------------------- 谢谢*7楼的了,不过我还是看得不是很懂~!
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,