소수의 정의 1을 제외한 자연수 중, 1과 자기 자신만을 약수로 가지는 수를 의미한다. 소수 판별 def prime_num(x): for i in range(2,x): if not x % i: return "합성수" return "소수" 효율성 개선 def primenum(x): for i in range(2, int((x**0.5)+1)): # x의 제곱근까지만 나누어떨어지는지 확인 if not x % i: return "합성수" return "소수" x의 제곱근까지만 나누어떨어졌는지 확인하는 이유는, x의 약수를 펼쳐보면 x의 제곱근 값을 기준으로 대칭을 이루고 있기 때문이다. 이를테면 9는 1, 3, 9를 약수로 가지고 있고, 20은 1, 2, 4, 5, 10, 20을 약수로 가진다. 딱 나누어 떨..