从键盘输入一个大于3的整数,调用函数fun判断 其是否素数,然后在main函数中输出相应的结论 信息。
时间: 2023-09-13 19:12:35 浏览: 134
C语言程序设计-从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息;
5星 · 资源好评率100%
好的,我明白了。以下是实现代码:
```python
#include <stdio.h>
#include <stdbool.h>
bool fun(int n) {
if (n <= 3) {
return n > 1;
}
if (n % 6 != 1 && n % 6 != 5) {
return false;
}
for (int i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
int main() {
int n;
printf("请输入一个大于3的整数:");
scanf("%d", &n);
if (fun(n)) {
printf("%d是素数。\n", n);
} else {
printf("%d不是素数。\n", n);
}
return 0;
}
```
解释一下函数`fun`的实现:
首先,若$n$小于等于3,则判断$n$是否大于1,如果是则返回true,否则返回false,因为2和3都是素数。
接着,若$n$不是2或3,则$n$一定是6的倍数加1或5。因为除2和3以外的素数都可以表示为6的倍数加1或5的形式。
最后,我们只需在6的倍数加1和5的数中,检查是否有小于等于$\sqrt{n}$的因子即可。
希望能够帮到你!
阅读全文