English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
for 루프와 if ... else 문을 사용하여 정수가 소수인지 확인하는 예제. 그 수가 소수가 아니면 출력에 그 이유를 설명합니다.
이 예제를 이해하려면 다음을 이해해야 합니다.파이썬 프로그래밍주제:
보다 큰1의 양수를 제외하고1외에는 다른 요소가 없으며 그 수 자체가 소수로 불립니다.2그리고3그리고5그리고7은 소수입니다, porque 그들에는 다른 요소가 없습니다. 그러나6은 소수가 아닙니다(합성수입니다), porque2 x 3 = 6.
# 프로그램은 숫자가 소수인지 확인합니다 num = 407 # 사용자로부터 입력을 받기 #num = int(input("숫자를 입력하세요: ")) # 소수는1 if num > 1: # 문자열 검증 for i in range(2,num): if (num % i) == 0: print(num,"소수가 아닙니다") print(i,"곱하기",num//i,"동일한",num) break else: print(num,"소수입니다") # 입력된 숫자가 # 또는 동일한1그것은 소수가 아닙니다 else: print(num,"소수가 아닙니다")
출력 결과
407 소수가 아닙니다 11곱하기37동일한407
이 프로그램에서 변수 num이 소수인지 확인합니다. 또는 동일한1의 수는 소수가 아닙니다. 따라서 우리는 num이1을 수행할 때
우리는 num이2까지 num-1의 어떤 수로도 나누어지지 않으면 그 수는 소수가 아닙니다. 그렇지 않으면 그 수는 소수입니다.
우리는 요소를 찾는 수의 범위를 축소할 수 있습니다.
위 프로그램에서我们的搜索范围是2까지 num - 1.
우리는 범위 [2,num/2] 또는 [2,num ** 0.5]. 다음 범위는 합성수가 해당 수의 제곱근보다 작은 요소를 가져야 한다는 사실에 기반합니다. 그렇지 않으면 그 수는 소수입니다.
위의 원본 코드에서 변수 num의 값을 변경하여 다른 정수가 소수인지 확인할 수 있습니다.