파이썬을 연습할 수 있는 연습문제이다
문제와 답을 적어두었으며, 다른 답이 나올 수도 있다
문제에 대한 풀이가 필요하거나 추가적인 답변이 나올 경우 댓글을 통해 전달받고 업데이트하도록 하겠다
※본 문제는 함수를 사용하여 푸는 문제입니다
1번
두 양의 정수를 매개 변수로 받아서 두 수의 최대공약수를 리턴하는 함수를 만드시오
더보기
Result Code 1
def prime(a, b):
pr = []
if a > b:
for i in range(1, b+1):
if a%i == 0 and b%i == 0:
pr.append(i)
elif a < b:
for i in range(1, a+1):
if a%i == 0 and b%i == 0:
pr.append(i)
else:
pr.append(a)
return max(pr)
a = 12
b = 6
print(prime(a, b))
Result Code 2 - 코드 축약(max 이용)
def prime(a, b):
pr = []
for i in range(max(a, b), 0, -1):
if a%i == 0 and b%i == 0:
return i
a = 12
b = 6
print(prime(a, b))
2번
두 양의 정수를 매개 변수로 받아서 두 수의 최대공약수를 출력하는 함수를 만드시오(a=12, b=6일 때)
더보기
Result Code
def prime(a, b):
pr = []
if a > b:
for i in range(1, b+1):
if a%i == 0 and b%i == 0:
pr.append(i)
elif a < b:
for i in range(1, a+1):
if a%i == 0 and b%i == 0:
pr.append(i)
else:
pr.append(a)
return max(pr)
a, b = map(int, input().split())
print(prime(a, b))
Result Code 2
def prime(a, b):
pr = []
for i in range(max(a, b), 0, -1):
if a%i == 0 and b%i == 0:
return i
a, b = map(int, input().split())
print(prime(a, b))
3번
두 양의 정수를 매개 변수로 받아서 두 수의 최소공배수를 리턴하는 함수를 만드시오
더보기
Result Code
def prime(a, b):
result = []
for i in range(max(a,b), a*b+1):
if i%a == 0 and i%b == 0:
result.append(i)
if len(result) != 0:
return result[0]
a = 12
b = 6
print(prime(a,b))
4번
두 양의 정수를 매개 변수로 받아서 두 수의 최소공배수를 출력하는 함수를 만드시오
더보기
Result Code
def prime(a, b):
result = []
for i in range(max(a,b), a*b+1):
if i%a == 0 and i%b == 0:
result.append(i)
if len(result) != 0:
return result[0]
a, b = map(int, input().split())
print(prime(a,b))
5번
2 이상의 양의 정수 하나를 입력받아서, 2부터 해당 정수까지의 정수 중 소수를 출력하는 함수를 만드시오
더보기
Result Code
def num(a):
for i in range(2,a+1):
count = 0
for j in range(1, i+1):
if i%j == 0:
count = count + 1
if count == 2:
print(i)
num(100)