1007 素数对猜想

其实这个题很容易写出来
但是问题是一直runtime
其中想尝试动态数组时也出现了一个错误

至于runtime
改进如下
1.对于素数的判定方式

sqrt()函数需要导入
#include <math.h>
2在进行循环时就直接开始判断
不用再来一个循环

代码如下
#include <iostream> #include <string> #include <math.h> using namespace std; int main() { int N,flag,k=0,t=0; int s[100000]; cin>>N; for(int i=2; i<=N; i++) { flag=1; for(int j=2; j<=(int)sqrt(i); j++) { if(i%j==0) flag=0; } if(flag==1) { s[k++]=i; if(k>=2&&(s[k-1]-s[k-2])==2) { t++; } } } cout<<t; return 0; }
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号