为什么运行时错误! SIGFPE?

时间:2017-06-18 16:06:30

标签: c++

  

其中4个样品显示确定..其他样品没有运行!

     

问题链接: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;
}        

1 个答案:

答案 0 :(得分:0)

我的精神力量暗示你有输入会触发你的代码尝试除以零。

例如:

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

if(R%k==0){

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