2014-02-12 6 views
-2

DEF BHL (X) : X == 1이있는 경우 : 참을 리턴 ELIF의 X % 2 == 0 : 거짓 ELIF의 엑스 == 2 반환 범위 B (3, INT는 false 를 반환 (X ** 0.5 일)) : X %의 B 형 == 0 경우 : 거짓 다른 반환 : 참 반환을누군가 나를 위해 코드를 설명해 주시겠습니까?

내가 너무 피곤 해요하지만 난 정말 알아낼 수없는 경우 몰라 무엇을 코드의이 부분은 않습니다. 누군가가 나를 위해 그것을 설명시겠습니까 :

elif x % 2 == 0: 
    return False 
for b in range(3,int(x**0.5 +1)): 
    if x % b == 0: 
     return False 
else: 
    return True 
+1

x가 2로 나눌 수있는 경우 false를 반환하고 x가 b에 의해 균등하게 나눌 수있는 경우 다음 줄을 반환합니다. – Matt

답변

1

그것은 x는 짝수 경우 x는

x % 2 == 0 검사 소수 여부를 확인, 또는 다른 말로 당신이 2

for b in range(3,int(x**0.5 +1)): if x % b == 0: return False 
하여 분할하는 경우에는 나머지가 없습니다

x를 나머지로 나누는 숫자가 있으면 3에서 x/2 + 1까지 검사합니다. 이전 사례가 1과 2로 확인되었으므로 x/2보다 큰 숫자가 x가 나머지가없이 x를 나눌 지 여부를 확인하는 데 아무런 의미가 없습니다.

관련 문제