从列表框到文本框的素数

问题描述 投票:0回答:1

我想通过从列表框到文本框的按钮显示质数。接口会正确显示质数,但只能显示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;
        }



    }
c# visual-studio button textbox listbox
1个回答
0
投票

尝试一下:

 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;
        }
    }
  }
© www.soinside.com 2019 - 2024. All rights reserved.