首先,0 ,1不是素数。
然后是超时问题,因为这个题范围也不是很大,然后不能
for(int i=2;i*i<=n;i++)
if(n%i==0) {flag=1;break;}
我估计是因为这里i*i也要计算,然后就超时了吧。然后换成sqrt就不会超时了;
for(int i=2;i<=floor(sqrt(n));i++)
if(n%i==0) {flag=1;break;}
首先,0 ,1不是素数。
然后是超时问题,因为这个题范围也不是很大,然后不能
for(int i=2;i*i<=n;i++)
if(n%i==0) {flag=1;break;}
我估计是因为这里i*i也要计算,然后就超时了吧。然后换成sqrt就不会超时了;
for(int i=2;i<=floor(sqrt(n));i++)
if(n%i==0) {flag=1;break;}