方法:
若n是素数,则n不能被2~√n的任何整数整除!
代码:
#include“stdio.h” #include"math.h" //判断是否为素数 bool prime(int n){ int i; for(i=2;i<=(int)sqrt(n);i++){ if(n%i==0) return false; } return true; } void main(){ int n,i,j=0; //j累计素数个数,n指求那个数之前的素数 printf("n:"); scanf("%d",&n); printf("所求的为小于等于n的素数:\n",n); if(n>2){ printf("M",2); j++; } for(i=3;i<=n;i+=2){ if(prime(i)){ printf("M",i); if(j!=0&&++j==0) //每10个换一行 printf("\n"); } } printf("\n素数一共有%d个",j); }
结果: