我想通过从列表框到文本框的按钮显示质数。接口会正确显示质数,但只能显示1至10,此后算法会更改并显示非质数作为质数,例如44。
private void primnr()
{
int n = listBox1.Items.Count;
bool prim = true;
for (int i = 2; i < n; i++)
{
for (int j = 2; j <n; j++)
{
if (i!=j && i%j==0)
{
prim = false;
break;
}
}
if (prim)
{
textBox2.Text = textBox2.Text + "Numar prim: " + listBox1.Items[i].ToString() + Environment.NewLine;
}
prim = true;
}
}
尝试一下:
private void primnr()
{
int n = listBox1.Items.Count;
bool prim = true;
for (int i = 2; i < n; i++)
{
prim = true;
for (int j = 2; j < listBox1.Items[i]/2; j++)
{
if (listBox1.Items[i] % j == 0)
{
prim = false;
break;
}
}
if (prim)
{
textBox2.Text = textBox2.Text + "Numar prim: " + listBox1.Items[i].ToString() + Environment.NewLine;
}
}
}