如何查找素数? 素数是大于1的数字,只能由它们自己和1来整除。确定数字是否为素数的一种方法如下:
- >如果数字< 2,然后返回False
- &gt;如果数字为2,则返回True - &gt;对于i的每个值,其中i> = 2且i <1。数: 如果该数字可被i整除,则返回False - &gt;返回True
我目前的代码:
def is_prime(number):
if number == 2:
return True
elif number < 2:
return False
else:
for i in range(2, number):
if number % i == 0:
return False
else:
return True
def main():
print(is_prmie(1))
print(is_prmie(4))
print(is_prmie(7))
一些语法问题我不知道如何解决。 有人可以帮忙吗? 谢谢TA!
答案 0 :(得分:1)
我建议如下:
from math import sqrt
def is_prime(x):
if x < 2:
return False
if x % 2 == 0:
return x == 2
i = 3
while i <= sqrt(x):
if x % i == 0:
return False
i += 2
return True
注意事项:
答案 1 :(得分:0)
您需要致电main()
并正确撰写is_prime()
。
def is_prime(number):
if number == 2:
return True
elif number < 2:
return False
else:
for i in range(2, number):
if number % i == 0:
return False
else:
return True
def main():
print(is_prime(1))
print(is_prime(4))
print(is_prime(7))
main()
答案 2 :(得分:0)
方法调用时is_prime的拼写错误。此外,您还没有在最后调用方法main。
小改进:
for i in range(2, number):
此行可以如下所示,因为我们不需要检查其一半后的数字的可分性:
for i in range(2, (number/2)):
e.g。对于检查24是否为素数,我们需要检查最多12,因为它永远不会被大于12的数字整除。
答案 3 :(得分:0)
<?php
// PHP code to check wether a number is prime or Not
// function to check the number is Prime or Not
function primeCheck($number){
if ($number == 1 || $number == 2 || $number % 2 !== 0) {
echo "Prime";
}
else if ($number % 2 == 0)
{
echo "Not Prime";
}
}
echo primeCheck(5);