判断一个正整数m是否为素数主要有三种方法:
方法1:让m依次被2,3,…,m-1除,如果m不能被2~m-1中的任何一个整数整除,则m是素数。
方法2:让m依次被2,3,…,m/2除,如果m不能被2~m/2中的任何一个整数整除,则m是素数。
方法二
方法三
注:Linux 环境下编译时需要链接数学函数库 即 gcc xxx.c -lm 可生成a.out文件
方法1:让m依次被2,3,…,m-1除,如果m不能被2~m-1中的任何一个整数整除,则m是素数。
方法2:让m依次被2,3,…,m/2除,如果m不能被2~m/2中的任何一个整数整除,则m是素数。
方法3:让m依次被2,3,…,sqrt(m)除,如果m不能被2~sqrt(m)中的任意一个整数整除,则m为素数。sqrt(m)为m的平方根。
方法一
代码实现:
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
for (i = 100; i <= 200; i++)
{
for (j = 2;j <= i-1;j++)
{
if (i % j == 0)
{
break;
}
}
if (j >= i)
{
printf("%d ",i);
}
}
puts("");
return 0;
}
方法二
代码实现:
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
for (i = 100; i <= 200; i++)
{
for (j = 2; j <= i / 2; j++)
{
if (i%j == 0)
{
break;
}
}
if (j >= i / 2)
{
printf("%d ",i);
}
}
puts("");
return 0;
}
方法三
实现代码:
#include <stdio.h>
#include <math.h>
int main()
{
int m,i,k,n=0;
for(m = 101;m <= 200;m += 2) //m+2排除偶数
{
k=sqrt(m);
for (i=2;i<=k;i++)
{
if (m%i==0)
{
break;
}
}
if (i>k)
{
printf("%d ",m);
}
}
puts("");
}
注:Linux 环境下编译时需要链接数学函数库 即 gcc xxx.c -lm 可生成a.out文件