1、实现一个函数,判断一个数是不是素数。
2、利用上面实现的函数打印100到200之间的素数。
素数的定义:素数是指大于一的整数中,只能被1和这个数本身整除的数。
假设这个数是n,那么用for循环去遍历,在2——n-1(优化之后在根号N)之间,如果在这个范围中,n被整除了,那么n就不是素数。
按照题目要求,需要写一个函数来实现,代码如下:
int is_prime(int n) //判断是不是素数的函数
{
int i = 0;
for (i = 2; i < sqrt(n); i++)
{
if (n % i == 0)
return 0;
}
return 1;
}
如果是素数,该函数返回值为0,否则返回值为1。
然后判断该函数的可行性
int main()
{
int input = 0;
scanf("%d", &input);
if (is_prime(input) == 0)
{
printf("不是素数\n");
}
else
{
printf("是素数\n");
}
}
运行结果如下
接着实现第二问:利用上面实现的函数打印100到200之间的素数。
在这里要动一下小手脚,如果是素数就把这个数返回,让下面的函数打印出来。
int is_prime(int n) //判断是不是素数的函数
{
int i = 0;
for (i = 2; i < sqrt(n); i++)
{
if (n % i == 0)
return 0;
}
return n;//返回值为n,把素数返回回去
}
验证一下代码的可行性:
int main()
{
int i = 0;
for (i = 100; i <= 200; i++)
{
if (is_prime(i) != 0)
{
printf("%d ",is_prime(i));
}
}
}
结果如下:
文章来源:https://uudwc.com/A/Mperg
文章来源地址https://uudwc.com/A/Mperg