파이썬 찐초보 연습!!
오늘의 목표
1. 어떤 수를 입력받아 배수 구하기
2. 두 수의 배수 찾기
2. 두 수의 최소 공배수 찾기
'최소공배수 最小公倍數'는 LCM이라고도 하는데 Lowest Common Multiple의 약자로
오늘의 최종 목표라고 할 수 있다!
1. 어떤 수의 배수를 구하는 프로그램 만들기
(무제한으로 구할 수 없으니 50개만 구해보자!)
1) 첫번째 수를 입력받는다.
2) 배수들을 저장할 곳을 준비한다.
3) 1부터 50까지 반복한다. : 입력받은 수에 i를 곱한 것을 배수에 둔다.
4) 배수를 출력한다.
number = int(input("어떤 수 : "))
data = []
for i in range(1, 50+1):
data.append(i * number)
print("%d의 배수는"%(number), data)
2. 숫자를 입력받고, 배수의 개수도 입력받아 입력받은 수의 배수를 출력해보자.
1) 첫번째 수를 입력받는다.
2) 두번째 수를 입력받는다.(개수를 입력받음)
3) 1부터 개수까지 반복한다.
4) 배수를 출력한다.
number = int(input("어떤 수 : "))
count = int(input("개수: "))
data = []
for i in range(1, count+1):
data.append(i * number)
print("%d의 배수는"%(number), data)
3. 두 수를 입력받고 두 수의 배수를 구하기
입력값은 num1, num2, count
출력값은 배수=data1, data2
수식
data1 = num1 * i
data2 = num2 * i
number1 = int(input("첫번째 수: "))
number2 = int(input("두번째 수 : "))
count = int(input("개수: "))
data1 = []
data2 = []
for i in range(1, count+1):
data1.append(i*number1)
data2.append(i*number2)
print("%d의 배수는" %(number1), data1)
print("%d의 배수는"%(number2), data2)
4. 두 수를 입력받고 두 수의 배수를 구하기(3번의 업그레이드 버전)
num1은 num2개, num2는 num1개의 배수를 구해보자!
number1 = int(input("첫번째 수: "))
number2 = int(input("두번째 수 : "))
data1 = []
data2 = []
for i in range(1, number2+1):
data1.append(i*number1)
for i in range(1, number1+1):
data2.append(i*number2)
print("%d의 배수는" %(number1), data1)
print("%d의 배수는"%(number2), data2)
5. 두 수의 최소공배수를 구해보자!
입력값 num1, num2
출력값 최소공배수
첫번째 입력받은 수 * i
i는 두번째 입력받은 수이다.
이 값들은 data1이라는 리스트에 저장해둔다.
두번째 입력받은 수 * i
i는 첫번째 입력받은 수이다.
이 값들은 data2라는 리스트에 저장해둔다.
이제 data1 리스트에 있는 값들이 data2에도 있다면 맨 처음 찾은 그 값이 최소공배수가 된다.
코드를 살펴보자!
number1 = int(input("첫번째 수: "))
number2 = int(input("두번째 수 : "))
data1 = []
data2 = []
for i in range(1, number2+1):
data1.append(i*number1)
for i in range(1, number1+1):
data2.append(i*number2)
for i in data1:
if i in data2:
lcm = i
break
print("최소공배수", lcm)
break는 반복문을 종료하는 개념으로 원하는 데이터를 찾은 경우 for반복문을 벗어나게 만든다!
while문을 사용해 구해보자!
number1 = int(input("첫번째 수: "))
number2 = int(input("두번째 수 : "))
if number1 > number2:
greater = number1
else:
greater = number2
while(1):
if (greater % number1 == 0) & (greater % number2 == 0):
lcm = greater
break
greater += 1
print("최소공배수 :", lcm)
6. 공배수 찾기
공배수 찾기는 최소공배수찾기와 비슷하게 코드를 써주면 되는데
cm이라는 리스트를 만들어주고
data1리스트와 data2리스트에서 같은 값을 찾았다면 cm이라는 리스트에 추가해주면된다!
그리고 cm이라는 리스트의 0번째 값이 최소공배수가 된다~!
number1 = int(input("첫번째 수: "))
number2 = int(input("두번째 수 : "))
data1 = []
data2 = []
cm = []
for i in range(1, number2+1):
data1.append(i*number1)
for i in range(1, number1+1):
data2.append(i*number2)
for i in data1:
if i in data2:
cm.append(i)
print("공배수", cm)
print("최소공배수", cm[0])
마지막 미션~!
A, B, C의 최소공배수를 구하라!
① A와 B의 최소공배수를 구한다.
② ①에서 구한 A와 B의 최소공배수와 C의 최소공배수를 구한다.
number1 = int(input("첫번째 수 : "))
number2 = int(input("두번째 수 : "))
number3 = int(input("세번째 수 : "))
if number1 > number2:
greater = number1
else:
greater = number2
while(1):
if (greater % number1 == 0) & (greater % number2 == 0):
lcm = greater
break
greater += 1
if number3 > lcm:
greater = number3
else:
greater = lcm
while(1):
if (greater % number3 == 0) & (greater % lcm == 0):
lcm = greater
break
greater += 1
print("최소공배수 :", lcm)
'프로그래밍 > 파이썬기초' 카테고리의 다른 글
소수 판별(emirp소수, 쌍둥이소수, 6촌 소수)_파이썬 기초 (0) | 2021.03.31 |
---|---|
함수만들기 : sum, total_파이썬 기초 (0) | 2021.03.29 |
공약수, 최대공약수, 서로소 찾기_파이썬 기초 (0) | 2021.03.24 |
완전수, 과잉수, 부족수_파이썬 기초 (0) | 2021.03.22 |
리스트(list), 반복for문, 조건if, if-else_파이썬 기초 (0) | 2021.03.19 |