728x90
https://www.codeup.kr/problem.php?id=6091
[기초-종합] 함께 문제 푸는 날(설명)(py)
python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
www.codeup.kr
입력
같은 날 동시에 가입한 인원 3명이 규칙적으로 방문하는,
방문 주기가 공백을 두고 입력된다. (단, 입력값은 100이하의 자연수이다.)
출력
3명이 다시 모두 함께 방문해 문제를 풀어보는 날(동시 가입/등업 후 며칠 후?)을 출력한다.
입력 예시
3 7 9
출력 예시
63
F
a,b,c=map(int,input().split())
d = 1
while d%a!=0 or d%b!=0 or d%c!=0 :
d += 1
print(d)
최소 공배수 + 최대공약수 문제는 1,2번 풀어봤지만 기억이 나질 않았다...
+)
def solution(n, m):
gcd = lambda a,b : b if not a%b else gcd(b, a%b)
lcm = lambda a,b : a*b//gcd(a,b)
return [gcd(n, m), lcm(n, m)]
이건 프로그래머스에서 다른사람이 작성한 풀이인데
b if not a%b a%b의 값이 0이 되면(True) 최대공약수가 b가 되며, else gcd(b, a%b) 나머지가 0이 아닐시 ...인데
유클리드 호재법을 이용하여 최대공약수를 구한것이다.
- 2개의 자연수(a,b)가 존재할때 a/b 의 나머지(a%b)를 r이라고 한다면 최대공약수는 b와 r의 최대공약수와 같다.
이것을 반복하여 r=0이 될때 b값이 최대공약수가 됨.
lcm(최소공배수)는 최대공약수를 이용하여 해결..
++) lcm함수는 파이썬 3.9부터 적용
728x90
'Python' 카테고리의 다른 글
[백준-29722번] 브실혜성 (0) | 2023.11.10 |
---|---|
[코드업-기초-리스트] 바둑판에 흰 돌 놓기(F) (0) | 2023.11.04 |
[코드업-기초] 16진수 구구단 출력하기(F) (1) | 2023.11.04 |
[코드업-기초] 10진수 정수를 16진수로 변환하기 (0) | 2023.11.03 |
[코드업-기초] 그림파일 저장용량 계산하기 (1) | 2023.11.03 |