2017-06-18 113 views
-3

4个样品显示ok ..其他没有运行!为什么运行时错误! SIGFPE?

问题链接:https://www.hackerearth.com/challenge/competitive/programming-indiahacks-2017/algorithm/hacker-with-prime-bebe28ac/

#include <iostream> 
using namespace std; 
int main() 
{ 
    long N,A[100000],Q,X[10000],R,p; 
    cin>>N>>Q; 
    for (int i=0;i<N;i++){ 
     cin>>A[i]; 
    } 
    for (int i=0;i<Q;i++){ 
     cin>>X[i]; 
    } 
    for (int i=0;i<Q;i++){ 
     R=0; 
     bool isprime=false; 
     for (int j=0;j<N;j++){ 
     R = (X[i]/A[j])*A[j]; 

     if (R==X[i]) 
     { 
      for (int k=2;k<=R/2;k++) 
      { 
       if(R%k==0){ 
        R=0; 
       }; 
      }; 
      if(R==0){ 
      cout<<"YES"<<endl; 
      isprime=true; 
       break; 
      } 
      else { 
       isprime=false; 
      } 

     } 

     } 
     if(isprime==false){ 
      cout<<"NO"<<endl; 
     } 
      } 

    return 0; 
}   
+0

链接没有按不工作... – MattMatt2000

+1

请不要问现场比赛中的问题 –

+0

SIGFPE是一个浮点异常。在这种状态下,我们可以帮助你解决这个问题。 – spectras

回答

0

我的精神力量建议你输入将触发你的代码试图除以零。

例如:

R = (X[i]/A[j])*A[j]; 

if(R%k==0){ 

如果A[j]是在第一线零,或者如果k为零,在第二行...这可能是原因....

相关问题