编写一个判断一个数是否是素数的函数。
def isPrime(n):
for i in range(2,n):
if n%i==0:
return False
return True
print(isPrime(7))
觉得有用的话采纳一下哈
哈喽,代码如下,有用请点采纳哦~
s=int(input("请输入一个正整数:"))
if s<2:
print("这个数不是素数!")
else:
for i in range(2,s):
if s%i==0:
print("这个数不是素数!")
break
else:
print("这个数是素数!")
#include<stdio.h>
#include<math.h>
int main()
{
int a;
printf("输入你想的数:");
scanf("%d", &a);
int i;
int q = sqrt(a);
for(i=2;i<=q;i++){
if(a%i == 0){
break;
}
}
if(i>q){
printf("%d是素数", a);
}
else{
printf("%d不是素数", a);
}
return 0;
}
def isPrime4(n):
for i in range(3,int(n**0.5),2):#将步长设为2
if n % i == 0:
return False
else:
return True
N = 1000 #
strPrime = "2 "
for j in range(3,N,2):
if isPrime4(j):
strPrime = strPrime + str(j) + " "
print(strPrime)
import math
#判断素数, True 代表是素数
def is_prime(num):
flag = True
if num > 1:
for i in range(2, math.floor(math.sqrt(num)) + 1):
if (num % i) == 0:
flag = False
break
return flag
print(is_prime(2))
print(is_prime(3))
print(is_prime(4))
"""
素数只能被1和自身整除的数,所有的数都能被1和自身整除,剩下的就是判断是否有其他约数
一个正整数m的约数范围应该在2--m/2之间,超过了这个数的一半,余数不可能为0,所以代码如下
函数中未对1和小于等于0做判断
"""
def is_su(num):
for i in range(2,num//2+1):
if num%i==0:
print("不是素数")
break
else:
print("是素数",num)
return num
#打印一百以内素数
print([is_su(m) for m in range(2,100) if is_su(m)])
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
通过素数的定义,我们可以用如下方法编写函数,测试1-10的整数,结果如下:
注意:0和1 既不是素数,也不是合数
def isprime(n):
if n == 0 or n == 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
for i in range(10):
if isprime(i):
print("%s is 素数" %i)
2 is 素数
3 is 素数
5 is 素数
7 is 素数