Geeksforgeeks编译器与Hackerearth代码表为c ++中的相同代码生成不同的输出(gcc 5.4)

时间:2017-07-06 07:16:04

标签: c++ gcc

这是我的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 ++中使用的版本不是正确的版本?
提前谢谢

0 个答案:

没有答案