素数算法判断一个数是否是素数C#实现

2025-10-01 03:22:20

1、打开visual studio软件,进入菜单“文件”->新建->新建项目。

选择windows窗体程序,项目名为“SuShu”。

素数算法判断一个数是否是素数C#实现

2、在窗体上添加控件:

lable控件,text值为“输入一个数,判断是否是素数”;

一个textbox控件(tb_inputvalue),用来输入要判断的素数。

一个按钮“判断”(btn_pd),判断是不是素数。

一个大按钮(btn_hq),获取前一百的素数

用richTextBox1来保存获取到的素数。

素数算法判断一个数是否是素数C#实现

3、素数设计算法

素数算法判断一个数是否是素数C#实现

4、素数设计算法:取消检测区间,提高程序效率

我们可以只判断2到n/2之间的数,就可以知道他是不是素数了,因为2*n/2等价于n/2*2,其实我们还可以进一步的缩短区间。我们知道 x^2=n,那么n可能等于(x-a)*(x+b),同理(x+b)*(x-a)同一个表达式,那么我们完全可以只判断2-根号下n这个区间就可以了。

public bool sushu(int value)

        {

            double n= Math.Round(Math.Sqrt(value));

           // MessageBox.Show(n.ToString());

            for (int i = 2; i <=n; i++)

            {

                if (value % 2 == 0)

                    return false;

            }

            return true;

        }

素数算法判断一个数是否是素数C#实现

5、获取前100之间的所有素数:从2到一百挨个判断,是素数就记录下来。

private void btn_hq_Click(object sender, EventArgs e)        {

            for (int i = 2; i <= 100; i++)

            {

                if (sushu(i))

                {

                    richTextBox1.AppendText(i + "\t");

                }

            }

        }

素数算法判断一个数是否是素数C#实现

6、判断一个数是不是素数:

if (sushu(Int32.Parse(tb_inputvalue.Text)))

            {

                MessageBox.Show(tb_inputvalue.Text + " 是素数");

            }

            else { MessageBox.Show(tb_inputvalue.Text + " 不是素数"); }

素数算法判断一个数是否是素数C#实现

7、编译运行程序,我们输入67,检测67是不是素数。根据执行结果是素数和实际符合。

素数算法判断一个数是否是素数C#实现

8、编译运行程序,获得前100的素数

素数算法判断一个数是否是素数C#实现

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢