素数算法判断一个数是否是素数C#实现
来源:网络收集 点击: 时间:2024-05-28打开visual studio软件,进入菜单“文件”-新建-新建项目。
选择windows窗体程序,项目名为“SuShu”。

在窗体上添加控件:
lable控件,text值为“输入一个数,判断是否是素数”;
一个textbox控件(tb_inputvalue),用来输入要判断的素数。
一个按钮“判断”(btn_pd),判断是不是素数。
一个大按钮(btn_hq),获取前一百的素数
用richTextBox1来保存获取到的素数。

素数设计算法

素数设计算法:取消检测区间,提高程序效率。
我们可以只判断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;
}

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

判断一个数是不是素数:
if (sushu(Int32.Parse(tb_inputvalue.Text)))
{
MessageBox.Show(tb_inputvalue.Text + 是素数);
}
else { MessageBox.Show(tb_inputvalue.Text + 不是素数); }

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

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

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_846531.html