C++计算哥德巴赫猜想 报错

问题遇到的现象

无报错,运行结果不对

问题相关代码
#include <cstdio>
#include <cmath>
#include <windows.h>
using namespace std;
long long nUM, n, m = 0;
bool LJ;
long long min(long long i,long long k)
{
    if(i > k)
        return k;
    else
        return i;
}
long long GetGH_1(long long NUM)
{
    long long NuM[NUM / 2 + 1];
    for(long long L = 3, LJ = true; L < NUM; L += 2)
    {
        for(long long i = 3, L = 3; i < (sqrt(L) - 1); i += 2)
        {
            if(L % i == 0 or L / i == 1)
                LJ = false;
        }
        if(LJ)
        {
            NuM[m] = L;
            m++;
        }
    }
    for(long long i = 0; i < m * (m - 1); i++)
    {
        for(long long q = 0; q < m * (m - 1); q++)
        {
            if(NuM[i] == NuM[q])
            {
                nUM = min(NuM[i],NuM[q]);
                break;
            }
        }
    }
    return nUM;
}
long long GetGH_2(long long NUM)
{
    long long NuM[NUM / 2 + 1];
    nUM = NUM - nUM;
    return nUM;
}
int main()
{
    long long NUM;
    scanf("%lld",&NUM);
    for(long long i = 1; i <= NUM; i++)
    {
        printf("%lld",i);
        printf("=");
        printf("%lld",GetGH_1(i));
        printf("+");
        printf("%lld",GetGH_2(i));
        printf(" ");
        Sleep(500);
    }
    return 0;
}




输入、运行结果

100
1=0+1 2=1+1 3=1+2 4=2+2 5=3+2 6=3+3 7=29+-22 8=


Process exited after 6.899 seconds with return value 3221225477
请按任意键继续. . .

解答思路

1)求出素数列表
2)求出素数组合
3)输出

预期结果

不报错,运行正确

for(long long L = 3, LJ = true; L= NUM; L += 2)
这个循环结束条件怎么是L=NUM呢?这是赋值语句啊
long long(NUM / 2)
改为
(long long)(NUM/2)

是任意一个数可以表示成两个质数的和那个吗?
那直接素性检测不就好了。或者用线性筛法。

#include
using namespace std;
int main()
{

int i, j;
cout << 2 << " " << 3 << endl;
for (i = 2; i <= 1000; i++)         //判断5-1000之间的素数
{
    int m = 0;
    for ( j = 1; j <= i/2; j++)
    {
        if (i % j != 0)    //判断素数
        {
            m++;
            if (m == i / 2-1)     //判断素数
            {
                cout << i << " ";    输出素数
            }
        }
        
    }
}
return 0;

}