为什么运行时错误!西格菲普

why run time error ! SIGFPE?

本文关键字:运行时错误 为什么      更新时间:2023-10-16

其中 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;
}        

我的通灵能力表明你有输入,可以触发你的代码尝试除以零。

例如:

R = (X[i]/A[j])*A[j];
if(R%k==0){

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