用语言求100-200间的素数。
素数的定义:只有1和它本身两个因数的自然数。
如果a能被2-a-1之间任一整数整除,其二个因子必定有一个小于或等于√m,另一个大于或等于√m;
例如:16可以分成4*4,那只要满足2-4中有可以被16整出即可,所以16不是素数;13可以分为3*3,
那只要满足2-3中有可以被13整出即可,所以13是素数;并且所有的偶数均不是素数;
#include<stdio.h> #include<math.h> int main() { int a = 0 ; int count = 0 ; for (a = 101; a <= 200; a=a+2)//所有偶数不是素数,直接用奇数求,提高运行速度 { int b = 0; for (b = 2 ; b <= sqrt(a) ; b++)//如果a能被2-a-1之间任一整数整除,其二个因子必定有一个小于或等于√m,另一个大于或等于√m if (a%b == 0) break; if (b>sqrt(a)) { printf("%d ", a); count++; } } printf("%\n"); printf("%d\n", count);//输出所求素数个数 system("pause");//暂停命令 return 0; }
第一次写博客,很多东西都不知道,从基础一点点起来吧,希望多多支持。