编写一个函数isprime,判断整数N是否为素数
时间: 2023-09-14 21:11:57 浏览: 116
以下是Python语言的代码实现:
```python
def isprime(N):
if N < 2:
return False
for i in range(2, int(N**0.5)+1):
if N % i == 0:
return False
return True
```
解释一下:
首先,小于2的整数都不是素数,因此如果输入的整数小于2,直接返回False。
然后,我们从2开始到N的平方根(因为如果N有大于平方根的因子,那么肯定有小于平方根的因子),逐个判断是否能被整除,如果能被整除,则说明N不是素数,直接返回False。
最后,如果上述判断都没有返回False,说明N是素数,返回True。
相关问题
用C语言编写一个函数isprime,判断整数N是否为素数
以下是用C语言编写的判断整数N是否为素数的函数isprime:
```c
#include <stdio.h>
#include <math.h>
int isprime(int N){
int i;
if(N < 2) return 0; //小于2的数不是素数
for(i = 2; i <= sqrt(N); i++){ //从2到sqrt(N)枚举
if(N % i == 0) return 0; //如果能整除,不是素数
}
return 1; //否则是素数
}
int main(){
int n;
printf("请输入一个整数n:");
scanf("%d", &n);
if(isprime(n)) printf("%d是素数\n", n);
else printf("%d不是素数\n", n);
return 0;
}
```
函数isprime的思路是从2到sqrt(N)枚举每个可能的因子i,如果N能被i整除,则N不是素数;否则N是素数。如果N小于2,则不是素数。函数返回1表示N是素数,返回0表示N不是素数。
在主函数中,先输入一个整数n,然后调用isprime函数判断n是否为素数,最后输出结果。
用java编写一个函数isprime(n),判断整数n是否为素数
以下是Java代码实现:
```java
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
```
以上代码中,首先判断n是否小于等于1,若是则直接返回false。接下来使用for循环从2开始枚举到n的平方根处,判断n是否能被i整除,若是则返回false。若for循环结束都没有返回false,则说明n是素数,返回true。