目录
(1)素数特点:只能被1和本身整除
也就是可以通过for循环并使用if语句来判断是否有除了1和它本身的数整数,如果有则不是素数。
(2)代码如下:
void is_prime()
{
int i = 0;
int j = 0;
int flag = 0;
printf("请输入要判断的数:");
scanf("%d",&i);
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
flag++;
}
}
if (flag == 0)
{
printf("%d是素数\n", i);
}
}
int main()
{
is_prime();
return 0;
}
(3)运行结果如下
(4)函数引申
利用上面实现的is_prime函数,打印100到200之间的素数。
通过嵌套for循环改变i的值来逐一判断
改造后的函数如下
void is_prime()
{
int i = 0;
int j = 0;
int flag = 0;
for (i = 100; i < 201; i++)
{
flag = 0;
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
flag++;
}
}
if (flag == 0)
{
printf("%d\n", i);
}
}
}
int main()
{
is_prime();
return 0;
}
运行结果如下:
所以100~200之间的素数有101、103、107、109、113、127、131、137、139、149、151、157、163、167、173、179、181、191、193、197、199这21个。