약수가 1과 자기 자신뿐인 자연수를 소수(prime number)라 한 다. 어떤 수를 입력받아 그 수가 소수인지를 True
또는 False로
반환하는 함 수 is_prime()
을 정의하라. 그 후, 정의한 함수를 이용해 1 이상 100 미만의 모든 소수의 합을 계산하라.
코드
def is_prime(number):
"""number가 소수인지 여부를 반환한다."""
# 1은 소수가 아니다.
if number == 1:
return False
# 2 이상 number 미만인 모든 수를 순회하며
for number2 in range(2, number):
# 그 수 가운데 number의 약수가 있는지를 검사한다.
if number % number2 == 0:
# 약수가 있다면 number는 소수가 아니다.
return False
# 약수가 하나도 없다면 number는 소수다.
return True
# 1 이상 100 미만의 모든 소수의 합
total = 0
for number in range(1, 100):
if is_prime(number):
total += number
print(total)
실행 결과
1060
is_prime()
을 정의한다.
is_prime()
함수로 소수 여부를 검사하여, 소수인 경우에만 합계 변수에 그 수를 더한다.