▷ 오늘 학습 내용: 기초수학 강의(1~3)
inputNum = int(input('0보다 큰 정수 입력: '))
for number in range(2,inputNum+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))
inputNum = int(input('1보다 큰 정수 입력: '))
n=2
while n <= inputNum:
if inputNum % n == 0:
print('소인수: {}'.format(n))
inputNum = inputNum / n
else:
n += 1
inputNum = int(input('1보다 큰 정수 입력: '))
n=2
searchNums = []
while n <= inputNum:
if inputNum % n == 0:
print('소인수: {}'.format(n))
if searchNums.count(n) == 0:
searchNums.append(n)
elif searchNums.count(n) == 1:
searchNums.remove(n)
inputNum /= n
else:
n += 1
print(searchNums)
num1 = int(input('1보다 큰 정수 입력: ')
num2 = int(input('1보다 큰 정수 입력: ')
temp1 = num1; temp2 = num2
while temp2 > 0:
temp = temp2
temp2 = temp1 % temp2
temp1 = temp
print('{}, {}의 최대공약수: {}'.format(num1, num2, temp1))
num1 = int(input('1보다 큰 정수 입력: '))
num2 = int(input('1보다 큰 정수 입력: '))
num3 = int(input('1보다 큰 정수 입력: '))
maxNum = 0
for i in range(1, num1+1):
if num1 % i == 0 and num2 % i == 0:
maxNum = i
print(f'최대공약수: {maxNum}')
minNum = (num1*num2) // maxNum
print(f'{num1}, {num2}의 최소공배수: {minNum}')
newNum = minNum
for i in range(1, newNum+1):
if newNum % i == 0 and num3 % i == 0:
maxNum = i
print(f'최대공약수: {maxNum}')
minNum = (newNum * num3) // maxNum
print(f'{num1}, {num2}, {num3}의 최소공배수: {minNum}')
1) 2진수로 변환: bin() ← binary
2) 8진수로 변환: oct() ← octal
3) 16진수로 변환: hex() ← Hexadecimal



📝 기초 수학 개념은 어느 정도 알고 있었지만 막상 파이썬에서 적용하려고 하니까 어떻게 해야될지 고민이 됐다. 예제에서 반복문(for, while문)이 자주 사용되는걸 보니까 반복문이 중요하게 느껴졌다. 진법 파트에서는 bin, oct, hex 함수를 처음 봐서 생소했고, int는 정수형을 나타내는 것으로만 알고 있었는데 10진수 함수로도 쓰인다는 것을 알았다.
▷ 내일 학습 계획: 기초수학 강의(4~7)