Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取素数(c#windows窗体应用程序中的哥德巴赫猜想)_C#_Primes - Fatal编程技术网

如何获取素数(c#windows窗体应用程序中的哥德巴赫猜想)

如何获取素数(c#windows窗体应用程序中的哥德巴赫猜想),c#,primes,C#,Primes,我正在创建一个基于哥德巴赫猜想的windows窗体应用程序。我的问题是,我总是得到奇数而不是素数。我怎样才能只得到素数?这就是我到目前为止所做的 我在控制台应用程序中找到了一些代码,我曾尝试将这些代码放入windows窗体应用程序中,但我不知道如何操作。任何帮助都将不胜感激,谢谢 程序接受偶数输入,然后显示所有可能的组合 e、 g。 投入:14 产出:3+11;7+7 但我得到的是 投入:14 产出:3+11;5+9; 7+7; 9+5; **很抱歉删除 using System.Compone

我正在创建一个基于哥德巴赫猜想的windows窗体应用程序。我的问题是,我总是得到奇数而不是素数。我怎样才能只得到素数?这就是我到目前为止所做的

我在控制台应用程序中找到了一些代码,我曾尝试将这些代码放入windows窗体应用程序中,但我不知道如何操作。任何帮助都将不胜感激,谢谢

程序接受偶数输入,然后显示所有可能的组合

e、 g。 投入:14

产出:3+11;7+7

但我得到的是

投入:14

产出:3+11;5+9; 7+7; 9+5;

**很抱歉删除

using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Case_Study
{
    public partial class frmGBC : Form
    {
        public frmGBC()
        {
            InitializeComponent();
        }
        String holder, holder2;
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            int number = int.Parse(txtInput.Text);
            if (number % 2 == 0)
            {
                lvContainer.Items.Add("Input: " + number + ":\n");
                lvContainer.Items.Add("Solutions:");
            }
            if (number < 1001)
            {
                if (number < 2)
                {
                    MessageBox.Show("Must be greater than 2!");
                    holder = "";
                }
                    if (number % 2 == 0)
                    {
                        if (number % 2 == 0 && number <= 1000 && number >= 10)
                        {
                            for (int i = 3; i < number - 3; i += 2)
                            {
                                holder =+ i + " + " + (number - i) + "; ";
                            }
                        }
                        if (number % 2 == 0 && number <= 8 && number >= 4)
                        {
                            for (int i = 3; i < number; i += 2)
                            {
                                holder =i + " + " + (number - i) + ";";
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Must be even number!");
                    }
                }
            else
            {
                MessageBox.Show("Maximum input is 1000!");
            }
        }
        private void frmGBC_Load(object sender, EventArgs e)
        {
            lvContainer.Columns.Add("Goldbach's Conjecture", 118);
        }

    }
}
使用System.ComponentModel;
使用系统数据;
使用系统图;
使用System.Linq;
使用系统文本;
使用System.Windows.Forms;
名称空间案例研究
{
公共部分类frmGBC:表单
{
公共frmGBC()
{
初始化组件();
}
绳夹,绳夹2;
私有void btnSubmit\u单击(对象发送者,事件参数e)
{
int number=int.Parse(txtInput.Text);
如果(数字%2==0)
{
lvContainer.Items.Add(“输入:“+number+”:\n”);
lvContainer.Items.Add(“解决方案:”);
}
如果(数字<1001)
{
如果(数字<2)
{
MessageBox.Show(“必须大于2!”);
持有人=”;
}
如果(数字%2==0)
{
如果(编号%2==0&&number=10)
{
对于(int i=3;i
您做得很好,但在将其添加到holder之前,您忘记检查for循环中的素数。我有一个函数,我只是编写代码,可能对您很方便。(这不是检查素数的最佳方法)

bool-isprime(int-num)
{

如果(num检查素数的算法在哪里?如果你有,请原谅我,我没有看到……。检查素数的算法在loop@rjsu你是在问寻找素数的正确算法,还是在问winforms中的教程?这是家庭作业吗?我是在问如何获得获得素数n的正确算法戈德巴赫猜想中使用的数字。具体来说,这是一个案例研究请解释
for(int i=3;i
是如何检查素数的算法。哦,我的天啊,非常感谢你!这解决了我的问题!我真的很感谢你的帮助:)@rjsu没问题,编程愉快!!
        bool isprime(int num)
    {
        if(num<2)
        {

            return false;

        }
        else if(num==2)
        {
            return true;

        }
        else
        {
            for(int i=2; i<=num/2;i++)
            {
                if(num % i==0)
                {
                    return false;

                }
            }
            return true;
        }
    }