代码思想:
- 遍历100-200之间所有的整数
- 将每一个数prime从2开始取余,如果有余数,说明他不能整除
- 继续对3取余,直到找到一个可以整除的数(非素数)或者在i < prime都没有找到(素数)
- 输出此数
#include <stdio.h>
int is_prime(int prime)
{
int i = 0;
for (i = 2; i < prime; i++)
{
if (!(prime % i))
{
//不是素数
return 0;
}
}
//是素数
return 1;
}
int main()
{
int i = 0;
for (i = 100; i < 200; i++)
{
if (is_prime(i))
{
printf("%d ", i);
}
}
return 0;
}
改进:我们思考一下,其实这个判断是否是素数,只需要判断他的一半的数能否整除就好了,因为一半的整除结果刚好是2,对应了我们程序第一个去整除的数字
#include <stdio.h>
int is_prime(int prime)
{
int i = 0;
for (i = 2; i < prime; i++)
{
if (!(prime % i))
{
//不是素数
return 0;
}
}
//是素数
return 1;
}
int main()
{
int i = 0;
for (i = 100; i < 200; i++)
{
if (is_prime(i))
{
printf("%d ", i);
}
}
return 0;
}
感谢dalao们的点赞关注^-^