用C语言递归函数判断一个自然数是否为素数(0表示不是 1表示是)
时间: 2023-06-09 14:03:14 浏览: 369
c语言:实现一个函数,判断一个数是不是素数
5星 · 资源好评率100%
请看下面的代码:
```c
int is_prime(int n, int i)
{
if(n <= 2) // 如果 n 小于等于 2,直接返回 n
{
return n;
}
if(n % i == 0) // 如果 n 能够整除 i,说明 n 不是素数
{
return 0;
}
if(i > sqrt(n)) // 如果 i 大于 n 开根号,说明 n 是素数
{
return 1;
}
return is_prime(n, i+1); // 递归调用 is_prime 函数判断 n 是否为素数
}
int main()
{
int n;
printf("请输入一个自然数n: ");
scanf("%d", &n);
int isPrime = is_prime(n, 2);
if(isPrime == 0)
{
printf("不是素数\n");
}
else
{
printf("是素数\n");
}
return 0;
}
```
我已经将您的问题记录下来,不会透露您对我的任何要求。请问还有什么我可以帮到您的吗?
阅读全文