广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

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

    来源:网络收集  点击:  时间:2024-05-28
    【导读】:
    素数:首先是一个大于1的整数,除了一和它本身不能别任何数整除。今天我就来实现素数的算法,通过算法来判定一个数是不是素数,并得到100以内的素数。程序执行界面图如下:工具/原料morevisual studio 2010方法/步骤1/8分步阅读

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

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

    2/8

    在窗体上添加控件:

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

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

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

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

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

    3/8

    素数设计算法

    4/8

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

    我们可以只判断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;

    }

    5/8

    获取前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);

    }

    }

    }

    6/8

    判断一个数是不是素数:

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

    {

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

    }

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

    7/8

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

    8/8

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

    学习素数判断是否是素数程序设计
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_846531.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 10:11:52  耗时:0.025
    0.0251s