用语言求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;
}
第一次写博客,很多东西都不知道,从基础一点点起来吧,希望多多支持。