본문 바로가기 메뉴 바로가기

yoo.dev

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

yoo.dev

검색하기 폼
  • 분류 전체보기 (212)
    • About (0)
    • TIL (12)
    • 이론공부 (4)
    • PS (112)
      • Python (112)
    • Flutter (1)
    • Android (76)
      • Kotlin (63)
      • Error Log (12)
    • 기록 (4)
      • 프로젝트 (2)
      • 생활 (1)
  • 방명록

파이썬 최대공약수 (2)
유클리드 호제법, 최대공약수(GCD) 구하기

유클리드 호제법이란 최대공약수를 구하기 위해서는 유클리드 호제법을 사용하면 된다. 호제법이란 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘을 뜻한다. 먼저 1071을 1029로 나눈다. 42라는 나머지가 나온다. 만약 1029가 42로 나누어진다면 1071 = 42 * n이 될텐데 42로 안나눠지니까 42는 최대공약수가 될 수 없다. 그 후 1029을 42로 나눠서 21을 얻는다. 이때 42는 21로 나누어지기 때문에 21을 약수로 가진다. 따라서 최대공약수는 21이다. 글로 읽으면 복잡한데 결국 1071은 1071 = (1029 * 1) + 42 = ((42 * k) * 1) + 42 = (((21*2) *k) *1) + (21*2) = 21 * (k+2) 로 쓰일수 있다는걸 생각..

이론공부 2020. 10. 14. 04:08
[Python] 백준 2485번: 가로수 - gcd

문제 2485번: 가로수 첫째 줄에는 이미 심어져 있는 가로수의 수를 나타내는 하나의 정수 N이 주어진다(3≤N≤100,000). 둘째 줄부터 N개의 줄에는 각 줄마다 심어져 있는 가로수의 위치가 양의 정수로 주어지며, 가로수 www.acmicpc.net 풀이 같은 간격으로 가로수를 심기 위해서 각 간격들의 최대공약수를 구해줬다. 두 가로수 사이에 심을 가로수의 개수는 간격 // 최대공약수 -1 이다. import sys from math import gcd # 이미 심어져 있는 가로수 수 N = int(sys.stdin.readline()) # 첫 가로수 위치 a = int(sys.stdin.readline()) # 가로수들 사이의 값을 저장할 배열 arr = [] # 가로수들 사이의 간격 저장 for..

PS/Python 2020. 10. 14. 03:49
이전 1 다음
이전 다음
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 데이터바인딩 뷰바인딩 차이
  • kotlin fragment
  • 코틀린 뷰페이저
  • TextFormField keyboard
  • 카카오 기출
  • 안드로이드 카카오톡으로 로그인
  • 코틀린 바텀네비게이션
  • 코틀린 리스트뷰
  • 카카오톡으로 로그인 오류
  • 프로그래머스
  • 백준 1644
  • 백준
  • 투포인터 알고리즘
  • 안드로이드 키해시
  • 투포인터 알고리즘 파이썬
  • 코틀린
  • 시뮬레이터 키보드
  • flutter simultor
  • 코틀린 데이터바인딩
  • 파이썬 최대공약수
  • Kotlin
  • 소수 구하기 파이썬
  • 백준알고리즘
  • 백준 2003
  • 백준 1806
  • 전화번호목록 파이썬
  • 카카오 키해시
  • 안드로이드
  • 코틀린 뷰바인딩
  • counting sort
more
«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바