C#判断数字是否是质数代码

输入正整数N,判断N是否为质数。在如下所示的窗体中,用户在文本框(textBox1)中输入一个正整数值,判断该数是否为质数,如果是,在label2中输出:该数是质数,否则输出:该数不是质数。注:所谓质数,就是一个正整数,除了本身和1 以外不能被其他任何数整除。例如2,3,5,7 是质数(这4个数只能被1和本身整除);而4(可以被2整除),6(可以被2和3整除),8(可以被2和4整除),9(可以被3整除)则不是
2026年09月27日 16:34
有4个网友回答
网友(1):

for (int i = 2; i <= int.Parse(this.textBox1.Text); i++)
{
bool flag = true;
int k = Convert.ToInt32(Math.Sqrt(i));
for (int j = 2; j <= k; j++)
{
if (i % j == 0)
{
flag = false;
break;
}
}
if (flag == true)
{
label1.Text += i.ToString() + ",";
}
}

网友(2):

楼上的效率都比较低,下面是效率比较高的判断方法:
// 判断数字是否素数
public static bool IsPrime(int num){
if(num >= 1 && num<=3)
return true;
if(num % 2 == 0)
return false;

// 执行奇数循环
for(int loop = 3; loop <= Math.Sqrt(num); loop+=2){
if(num % loop == 0)
return false;
}
return true;
}

网友(3):

public void checkPrime(string val){
int num=0;
try{
num=Convert.ToInt32(val);
}catch{
label2.Text="必须输入数字";
return;
}
if(num<=0){
label2.Text="必须大于0";
return;
}
int iii=num/2;
for(int ii=2;ii<=iii;ii++){
if(num%ii==0){
label2.Text="不是质数";
return;
}
}
label2.Text="是质数";

}

在你要判断的事件中调用这个方法.并把textbox1中的值传进来.如:

checkPrime(this.textBox1.Text);

网友(4):

可以用正则表达式解决,很方便