这是我的c ++代码,用于检查两个素数之和是否等于给定的输入数字
虽然我已经为geeksforgeeks提出的问题制作了我的代码
here is the question
我的问题解决方案代码是
#include <bits/stdc++.h>
using namespace std;
void ssprime(long int num,long int *primearray){
long int size=(num-2)/2;
bool primearr[size+1];
memset(primearr,false,sizeof(primearr));
for(long int i=1;i<=size;i++){
for(long int j=i;(i+j+2*i*j)<=size;j++)
primearr[(i+j+2*i*j)]=true;
}
primearray[0]=2;
int h=1;
for(long int i=1;i<=size;i++){
if(primearr[i]==false){
primearray[h++]=(2*i)+1;
}
}
}
int main() {
int test;
cin>>test;
while(test--){
int num,size,f=0;
cin>>num;
size=(num-2)/2;
long int parr[size];
ssprime(num,parr);
for(int i =0;i<size;i++){
for(int j=i+1;j<size;j++){
if(parr[i]+parr[j]==num){
cout<<"Yes"<<endl;
f=1;
break;
}
}
if(f==1)
break;
}
if(f==0){
cout<<"No";
}
}
return 0;
}
我的问题是我的代码是givin输出
&#34;是&#34;
&#34;是&#34;在极客的极客,而它正在给出正确的输出&#34;是&#34;
&#34;否&#34;在hackerearth
即使它们都是相同版本的c ++编译器(gcc 5.4)
我不知道为什么会这样,任何人都帮我解决这个问题。
这是极客编译器极客的问题,还是geeks极客的c ++中使用的版本不是正确的版本?
提前谢谢