티스토리 뷰
반응형
오늘은 직접 소수를 판별하고, 소수가 아닌 경우 소인수분해를 한 후 밑과 지수를 구해보도록 하겠습니다!
[중학수학 1-1]
'인수', '소인수', '소인수분해'
<기본 지식>
인수: 15 = 5 x 3에서 5와 3을 15의 약수 또는 인수라고 함
소인수: 인수 중 소수인 것 (1, 2, 7, 14는 모두 14의 약수이자 인수인데, 이 중 2와 7이 14의 소인수이다.)
소인수분해: 자연수를 소인수(소수이면서 인수)들만의 곱으로 나타내는 것
문제: 임의의 수를 입력하였을 때
1. 소수인지 아닌지 판단하라
2. 소인수 분해 후 '밑 지수' 형태로 출력하라
print("input a number:")
input_num = int(input())
prime_dict = {}
'''주석: 소수 판별'''
def prime_check(input_num):
check = 0
check = int(check)
if(input_num < 2):
return 1
for i in range(2, input_num):
if(input_num%i == 0):
check = check + 1
elif(input_num%i != 0):
check = check
if(check >= 1):
return False
else:
return True
result = prime_check(input_num)
'''주석: 판별 결과 표시. 소수는 True, 아닐 경우 False'''
print(result)
count = 0
count = int(count)
'''주석: False일 경우 소인수 분해 후 밑과 지수 표시'''
if(result == False):
for i in range(2, input_num+1):
while(input_num%i == 0):
count +=1
input_num = input_num/i
if(input_num%i != 0):
print(i, count)
count *= 0
break
주요 부분 설명
1. 입력 값을 받고 소수 판단을 먼저 수행
2. range(a, b)는 a라는 수부터 b라는 수 '미만'이므로
2부터 입력 값까지 소인수 분해를 위해서 input_num+1을 한다.
3. 소수로 나누어 지는 동안 (while(input_num%i == 0):)
count에 +1을 하며 지수를 구한다.
4. 입력값을 나눈 후에는 나누어진 값을 다시 입력 값에 저장한다.
input_num = input_num/i
5. 현재 소수로 나누어지지 않는다면 print(i, count)로
현재 소수와 지수를 표현 후 break로 while문 중지
결과: 36 입력 시 소수가 아니므로 'False'후 밑 2 지수 2, 밑 3 지수 3으로 출력
중학 수학을 하면서 제가 항상 드는 생각이 있습니다.
만약 내가 중학교로 돌아가서 코딩을 알았다면 수학을 더 좋아하지 않았을까?
중학생 시절 항상 수학을 공부하면서 들었던 생각은
내가 이걸 공부하는 이유가 시험을 잘 보려고만 공부하는 것인가?
실제로 내가 배운 이 지식을 어디에 써야할까
다른 곳에 배운 지식을 활용하는 법이 무엇일까 고민했었던 기억이 납니다.
저는 코딩을 모르던 시절에도 수학을 좋아했지만,
코딩을 알게 되었다면 수학을 좋아하는 것이 아니라 조금 더 사랑하지 않았을까?라는 생각이 드네요.
반응형
'IT > Math & Code' 카테고리의 다른 글
중학수학1-1 / 약수와 약수의 개수를 구해보자 (0) | 2021.02.05 |
---|---|
중학수학1-1 / 소인수분해를 코딩 해보자! (0) | 2021.01.27 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 중학수학 코딩
- 파이썬
- FTX
- 두뇌트레이닝
- 심장건강
- 오늘의재즈
- 주의사항
- 브레인워
- 티스토리챌린지
- 알고리즘
- 리플
- for문
- 두뇌향상
- 코딩
- 중학수학 상
- 두뇌
- jazz
- 다이어트
- 정답
- 백준
- 비트코인
- 오블완
- 재즈
- XRP
- 건강
- Today's Jazz
- 항산화
- 슈퍼푸드
- 중학수학 1-1
- 슈퍼곡물
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함