C# 如何找到并写出两个数之间的素数?

C# 如何找到并写出两个数之间的素数?,c#,C#,我是编程界的新手,我想从c#和一些素数开始。 我试着从用户那里得到两个数字,然后检查这两个数字之间是否有素数,当然可以在另一个文本框中打印出来,但似乎我不能用正确的方法。有人能帮忙吗?代码如下: public partial class Form1 : Form { public Form1() { InitializeComponent(); } int count; private void Button1_Click(object s

我是编程界的新手,我想从c#和一些素数开始。 我试着从用户那里得到两个数字,然后检查这两个数字之间是否有素数,当然可以在另一个文本框中打印出来,但似乎我不能用正确的方法。有人能帮忙吗?代码如下:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    int count;
    private void Button1_Click(object sender, EventArgs e)
    {
        int x = Convert.ToInt32(textBox1.Text);
        int y = Convert.ToInt32(textBox2.Text);
        for (int c = x; c <= y; c++)
        {
            for (int i = 1; i <= x; i++)
            {
                int z = x % i;
                if (z == 0)
                {
                    count++;
                    if (count <= 2)
                    {
                        textBox3.Text = x.ToString();
                    }
                }
            }
        }
    }
}
公共部分类表单1:表单
{
公共表格1()
{
初始化组件();
}
整数计数;
私有无效按钮1\u单击(对象发送者,事件参数e)
{
int x=转换为32(textBox1.Text);
int y=转换为32(textBox2.Text);
对于(int c=x;c
public分部类Form1:Form
{
公共表格1()
{
初始化组件();
}
整数计数;
私有无效按钮1\u单击(对象发送者,事件参数e)
{
int x=转换为32(textBox1.Text);
int y=转换为32(textBox2.Text);
布尔标志=true;

对于(int k=x;k我担心“我似乎不能用正确的方法做它”是非常模糊的。你的代码目前有什么问题?两个观察:你的
I
-循环上升到
x
,如果不是
c
(当然不包括
c
本身,或者你总是会找到两个除数)。如果您找到一个数字,
textBox3.Text=x.ToString();
将替换文本框的内容,您将需要类似于
textBox3.Text+=x.ToString()的内容
。老实说,试着设置一个断点,并使用IDE的Step函数逐行检查代码。内部循环中的每个
x
都应该替换为
c
。这是一件事。@John我启动了应用程序,写了2个数字“例如20 55”,它只显示了20。问题的第一部分是20不是t素数。我只要求素数。第二部分是即使20是素数,也只显示20。不是21,22,23,24…,55。@CompuChip我按照你说的做了,它有点工作,但它不是我想要的。我在文本框中使用1,10,显示的是1,2。好吧,这是一个开始猜测,但我应该在哪里给我们断点,这样我才能得到整个素数数字?请解释一下你的答案是如何解决OP的问题的。“试试这个->代码”这对理解错误没有多大帮助。它只显示1和数字x的问题消失了,现在它只显示2个数字x,x+1。它不显示素数,只显示数字而不计算。@Yuvraj Mule它也不显示文本框中的数字。我甚至没有想到c这么难学。@ArminShabani我编辑了代码,代码运行正常。在您的代码中,您从1开始的内部循环不正确。当您除以1时,所有数字的z=0。一个可被1整除的数字称为素数。素数只包含2个因子,即1和自身数。
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int count;
        private void Button1_Click(object sender, EventArgs e)
        {
            int x = Convert.ToInt32(textBox1.Text);
            int y = Convert.ToInt32(textBox2.Text);

            Boolean flag = true; ;
            for (int k = x; k <= y; k++)
            {   
             //  loop the iterations for k times
                for (int i = 2; i <k; i++)
                {
                    if ((k % i) == 0)
                    {
                        flag = false;
                        break;
                    }
                }
                if (flag == true)
                {
                    if(textBox3.Text!="")
                        textBox3.Text +=",";
                     textBox3.Text += k.ToString() ;
                }
                flag = true;
            }
        }
    }