2017-06-18 111 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爲零,在第二行...這可能是原因....

相關問題