首先,素数就是质数。比如1,3,5,7,11等等...
大概思路就是,用100-200的数字除除了1和自身以外的数字。
#include <stdio.h>
int main()
{
int i = 0;
for (i = 100; i <= 200; i++)//实现100-200的打印
{
int n = 0;
for (n = 2; n <= i; n++)
{
if (0 == i % n)
{
break;//不是素数就跳出循环
}
}
if (i == n)
{
printf("%d ", i);//打印素数
}
}
return 0;
}
第二种方法可以用flag标记一下,如下:
int main()
{
int i = 0;
for (i = 100; i <= 200; i++)
{
int n = 0;
int flag = 1;//标记,假设i就是素数
for (n = 2; n < i; n++)
{
if (0 == i % n)
{
flag = 0;
break;
}
}
if (flag == 1)
{
printf("%d ", i);
}
}
return 0;
}
和图一大差不差。如果想要更加优化一些,可以从
int main()
{
int i = 0;
for (i = 100; i <= 200; i++)//<-这里入手 i=101;且每次+2;该区间偶数都可以被二整除
{
int n = 0;
int flag = 1;
for (n = 2; n < i; n++)//<-还有这里 可以使用开平方函数sqrt(i)
//注意符号加上=,以及添加头文件
{
if (0 == i % n)
{
flag = 0;
break;
}
}
if (flag == 1)
{
printf("%d ", i);
}
}
return 0;
}
最后就是函数调用的方法;
#include <stdio.h>
#include <math.h>
int main()
{
int i = 0;
for (i = 100; i <= 200; i++)
{
int pansu();//声明存在该函数
pansu(i);//调用,传递参数i
if(pansu(i))//判断
{
printf("%d,", i);
}
}
return 0;
}
//判断素数的函数
int pansu(int x)
{
int y = 0;
for (y = 2; y <= sqrt(x); y++)
{
if (0 == x % y)
{
return 0;
}
}
return 1;
}