【发布时间】:2013-07-27 06:40:51
【问题描述】:
这是我的代码中的一个 sn-p。基本上,一旦单击按钮,该逻辑就会触发并确定数字是否为素数。问题是一些数字返回为“非质数”,而实际上它们是。谁能指出缺陷在哪里?
谢谢
private void bntTestPrime_Click(object sender, EventArgs e)
{
int num;
double num_sqrt;
int num_fl;
num = Convert.ToInt32(txtInput.Text);
num_sqrt = Math.Sqrt(num);
num_fl = Convert.ToInt32(Math.Floor(num_sqrt));
for (int i = 1; i <= num_fl; i++)
{
if (num % i == 0 && i != num)
lblResult_prime.Text = "Number " + num + " is not Prime.";
else
lblResult_prime.Text = "Number " + num + " is Prime.";
}
}
【问题讨论】:
-
哪些数是质数,但被列为非质数?哪些素数和合数有效?你已经尝试过什么?
-
基本上是第一个数字,例如 2 和 3。我知道逻辑应该是什么以及应该使用什么主体来查找素数,尽管我的编程技能不允许我写足够智能的代码。