#include<stdio.h> #include<math.h> int main() { int i,k,n,m; scanf("%d",&m); k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>k) printf("%d是素数",m); }
取对立面,只要能被一个数整除,那就一定不是素数,所以只要是break退出循环的,那就一定不是素数