약수
는 어떤 수를 나누어 떨어지게 하는 수이다.
예시:
2의 약수는 1과 2
2 / 1 = 2
2 / 2 = 1
3의 약수는 1과 3
3 / 1 = 3
3 / 3 = 1
Example 1: Python을 이용해서 사용자가 입력한 숫자의 약수 출력하기
inputNumber = int(input('0보다 큰 정수 입력: '))
for number in range(1, (inputNumber + 1)):
if inputNumber % number == 0:
print('{}의 약수: {}'.format(inputNumber, number))
소수
는 1과 그 수 자기만을 약수로 가지는 수이다. (단, 1은 제외)
(e.g., 2, 3, 5, 7, 11, 13, 17, 19, ...)
예시:
2 / 1 = 2
2 / 2 = 1
7 / 1 = 7
7 / 7 = 1
13 / 1 = 13
13 / 13 = 1
Example 1: 1부터 30까지의 숫자 중 5로 나눈 몫과 나머지가 모두 소수인 숫자들 찾기
1) 몫으로 나올수 있는 소수를 찾는다.
2, 3, 5
2) (5x몫)에 5보다 작은 소수를 더한다.
1) 5로 나눈 몫이 소수인 숫자: 2, 3, 5
2) 1번에 5 곲하기: 10, 15, 25
3) 나머지 소수값 구하기: 2, 3
3) 2번과 3번 더하기: 12, 13, 17, 18, 27, 28
Example 2: 1부터 30까지의 숫자 중 소수 찾기
1) 2를 제외한 2의 배수 제거
2) 3을 제외한 3의 배수 제거
3) 5를 제외한 5의 배수 제거
4) 7을 제외한 7의 배수 제거
5) 11을 제외한 11의 배수 제거
6) 13을 제외한 13의 배수 제거
...
2,3,5,7,11,13,17,19, 23,29
Example: Python을 이용해서 사용자가 입력한 숫자까지의 소수 출력하기
inputNumber = int(input('0보다 큰 정수 입력: '))
for number in range(2, (inputNumber + 1)):
flag = True
for n in range(2, number):
if number % n == 0:
flag = False
break
if (flag):
print('{}: 소수!'.format(number))
else:
print('{}: 합성수!'.format(number))