파이썬 (중급문풀 5)
파이썬 (중급문풀 6~7)
파이썬 (중급문풀 8)
기초수학 (기초 1~2)
기초수학 (기초 3)
기초수학 (기초 4)
기초수학 (기초 5~6)
기초수학 (기초 7)
기초수학 (기초 1)
기초수학 (기초 2)
기초수학 (기초문풀 1)
기초수학 (기초문풀 2~3)
자료구조/알고리즘 (자료구조 1~2)
자료구조/알고리즘 (자료구조 3)
자료구조/알고리즘 (자료구조 4)
📝 weekly 데이터 사이언스 스쿨 퀴즈
📝 재복습weekly 데이터 사이언스 스쿨 퀴즈
실습_01
파이썬을 이용해서 사용자가 입력한 숫자의 약수를 출력해보자.
inputNumber = int(input('0보다 큰 정수 입력: '))
for number in range(1, inputNumber + 1):
if inputNumber % number == 0:
print('{}의 약수: {}'.format(inputNumber, number))
실습_02
파이썬을 이용해서 사용자가 입력한 숫자까지의 소수를 출력해보자.
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('{} : \t\t 합성수!!'.format(number))
12의 소인수?
1, 2, 3, 4, 6, 12
20의 소인수 분해?
2^2 x 5 = ( 2 x 2 x 5)
20의 소인수 분해?
1, 2, 4, 5, 10, 20
실습_03
파이썬을 이용해서 사용자가 입력한 수를 소인수분해하자.
inputNumber = int(input('1보다 큰 정수 입력: '))
n = 2
while n <= inputNumber:
if inputNumber % n ==0:
print('소인수: {}'.format(n))
inputNumber /= n
else:
n += 1
12와 20의 공약수?
1,2,4 (4의 약수)
실습_04
두개의 수를 입력하면 공약수와 최대공약수를 출력하는 코드를 작성하자.
num1 = int(input('1보다 큰 정수 입력: '))
num2 = int(input('1보다 큰 정수 입력: '))
maxNum = 0
for i in range(1, (num1 +1)):
if num1 % i == 0 and num2 % i == 0:
print('공약수: {}'.format(i))
maxNum = i
print('최대공약수: {}'.format(maxNum))
x, y의 최대공약수는 y, r(x % y)실습_05
유클리드 호제법을 이용해서 최대공약수를 구할수 있다.
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))
for n in range(1, (temp1 + 1)):
if temp1 % n == 0:
print('{}, {}의 공약수: {}'.format(num1, num2, n))
3, 5의 배수
15,30....
실습_06
두개의 수를 입력하면 최소공배수를 출력하는 코드를 작성하자.
num1 = int(input('1보다 큰 정수 입력: '))
num2 = int(input('1보다 큰 정수 입력: '))
maxNum = 0
for i in range(1, (num1 + 1)):
if num1 % i == 0 and num2 % i ==0:
print('공약수: {}'.format(i))
maxNum = i
print('최대공약수: {}'.format(maxNum))
minNum = (num1 * num2) // maxNum
print('최소공배수: {}'.format(minNum))
실습_07
세개의 수를 입력하면 최소공배수를 출력하는 코드를 작성하자.
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:
print('공약수: {}'.format(i))
maxNum = i
print('최대공약수: {}'.format(maxNum))
minNum = (num1 * num2) // maxNum
print('최소공배수: {}'.format(minNum))
newNum =minNum
for i in range(1, (newNum + 1)):
if newNum % i == 0 and num3 % i == 0:
maxNum
print('최대공약수: {}'.format(maxNum))
minNum = (newNum * num3) // maxNum
print('{}, {}, {}의 최소공배수: {}'.format(num1, num2, num3, minNum))
실습_08
섬마을에 과일, 생선, 야채를 판매하는 배가 다음 주기로 입할한다고 할떄, 모든 배가 입항하는 날짜를 계산해보자.
과일 선박: 3일주기
생선 선박: 4일주기
야채 선박: 5일주기
ship1 = 3; ship2 = 4; ship3 = 5
maxDay = 0
for i in range(1, (ship1 + 1)):
if ship1 % i == 0 and ship2 % i == 0:
maxDay = i
print('최대공약수: {}'.format(maxDay))
minDay = (ship1 * ship2) // maxDay
print('{}, {}의 최소공배수: {}'.format(ship1, ship2, minDay))
newDay = minDay
for i in range(1, (newDay + 1)):
if newDay % i == 0 and ship3 % i == 0:
maxDay = i
print('최대공약수: {}'.format(maxDay))
minDay = (newDay * ship3) // maxDay
print('{}, {}, {}의 최소공배수: {}'.format(ship1, ship2, ship3, minDay))
print('{}일마다 모든 선박이 입항합니다.'.format(minDay))
진짜 인풋이 제대로 되고 있는건지 모르곘다 ㅠㅠ 머리 터질 것만 같아