1보다 큰 자연수를 입력받아 소수(Prime Number)인지 합성수(Composite Number)인지 구분한다.
참고로 소수 2 또는 3을 입력할 경우 12라인의 else 문이 실행된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import math
# Prime Number or Composite Number print
def chkPrimeNumber(number):
# 입력된 수의 최대 약수를 구한다.
maxDivisor = math.ceil(math.sqrt(number))
for i in range(2, maxDivisor):
if(number % i) == 0:
print(f'{number} is not a prime number')
break
else:
print(f'{number} is a prime number')
# 1보다 큰 수가 입력되는지 체크하고 chkPrimeNumber 함수를 호출한다.
def main():
number = input('Please a nature number greater than 1 : ')
while(int(number) <= 1) :
number = input('Please a nature number greater than 1 : ')
chkPrimeNumber(int(number))
if __name__ == '__main__':
main()
|
cs |
결과
1
2
|
Please a nature number greater than 1 : 2
2 is a prime number
|
cs |
1
2
|
Please a nature number greater than 1 : 215
215 is not a prime number
|
cs |