当前位置:编程学习 > C#/ASP.NET >>

C#窗体应用程序求素数,为什么非素数不输出?求高手指点

新手。今天做窗体应用程序时,判断一个整数是否为素数,为什么非素数不在box显示?
代码段如下:
int j;
           bool b = true;
            j = int.Parse(this.textBox1.Text);
           for (int i = 2; i <j; i++)
            { 
                    if (j%i== 0)
                    {
                        b = false;
                        break;
                    }
                    if (b==true)
                    this.richTextBox1.Text = j + "是素数!";
                else
                    this.richTextBox1.Text = j + "不是素数!";
            } C# --------------------编程问答-------------------- break;.....不就直接跳出for循环了么。下面的else理所当然也不执行了 --------------------编程问答--------------------
引用 1 楼 vajoy 的回复:
break;.....不就直接跳出for循环了么。下面的else理所当然也不执行了
好像不是这个问题啊,我试过了呢 --------------------编程问答-------------------- 大神呢~求大神指教 --------------------编程问答-------------------- int j;
            bool flag = true;
          
              
            {    j = int.Parse(this.textBox1.Text);
           for (int i = 2; i <j; i++)
                    if (j%i== 0)
                    {
                        flag = false;
                        break;
                    }

                    if (flag == true)

                        this.richTextBox1.Text = j + "是素数!";
                    else
                     this.richTextBox1.Text = j + "不是素数!"; 
            } 
问题已解决!谢谢 --------------------编程问答-------------------- 其实判断可以写在循环外面的。而且循环条件i<=根号j即可。 --------------------编程问答--------------------
引用 5 楼 u010111184 的回复:
其实判断可以写在循环外面的。而且循环条件i<=根号j即可。

我试试,谢谢啦 --------------------编程问答--------------------
引用 4 楼 viexie 的回复:
int j;
            bool flag = true;
          
              
            {    j = int.Parse(this.textBox1.Text);
           for (int i = 2; i <j; i++)
                    if (j%i== 0)
                    {
                        flag = false;
                        break;
                    }

                    if (flag == true)

                        this.richTextBox1.Text = j + "是素数!";
                    else
                     this.richTextBox1.Text = j + "不是素数!"; 
            } 
问题已解决!谢谢



判断是不是素数,i不用加到j-1,到根号j就行了…… --------------------编程问答-------------------- 你用中文按顺序翻译一下你的代码,就能知道问题出在哪里了。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,