问题遇到的现象
无报错,运行结果不对
问题相关代码
#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)输出
预期结果
不报错,运行正确