[알고리즘] 수학 관련 알고리즘 Code - 에라토스테네스의 체, 유클리드 호제법

2022. 4. 28. 23:21·Algorithms 💻/Basic
반응형

기초적인 수학적 알고리즘의 코드를 모아놓은 간단한 포스팅이다! 소수를 구하는 알고리즘과 최대공약수를 구하는 알고리즘! 

1. 에라토스테네스의 체

  • 소수를 구하는 알고리즘
  • 특정 배수를 지워가는 식으로 전개된다.
def era(n):   
  """
  Input : 몇까지 탐색할지 
  Output : n까지 숫자 중 소수를 포함한 리스트 
  """
  a = [False, False] + [True] * (n-1)

  primes = []
  for i in range(2, n+1):
    if a[i]:
      primes.append(i)
      for j in range(2*i, n+1, i):
        a[j] = False     # 배수를 지운다!
  return primes

2. 유클리드 호제법

  • 최대공약수, 최소공배수 구하기
  • 유클리드 호제법은 최대공약수를 구하는 알고리즘이다! 
def gcd(n, m): 
    """ 
    Input : 두 수 
    Output : 두 수의 최대공약수 
    """ 
    while m : 
    	n, m = m, n%m 
        return n

 

3. 관련 문제 

 1978 소수 찾기 https://www.acmicpc.net/problem/1978

1929 소수 구하기 https://www.acmicpc.net/problem/1929

2609 최대공약수와 최소공배수 https://www.acmicpc.net/problem/2609

반응형
저작자표시 (새창열림)

'Algorithms 💻 > Basic' 카테고리의 다른 글

[알고리즘] Kadane’s(카데인) Algorithm - Array에서 부분합의 최대 찾기  (0) 2023.01.18
[알고리즘] 백트래킹(Backtracking)을 알아보자  (0) 2022.04.05
[알고리즘] 특정 기준으로 리스트 정렬하기 (python) - key=lambda  (0) 2022.03.27
[코테] 자주 쓰이는 Python 기본 함수 정리 (계속 업데이트)  (2) 2022.03.26
[알고리즘] 큐를 이용해 BFS 구현하기 (python)  (0) 2022.03.21
'Algorithms 💻/Basic' 카테고리의 다른 글
  • [알고리즘] Kadane’s(카데인) Algorithm - Array에서 부분합의 최대 찾기
  • [알고리즘] 백트래킹(Backtracking)을 알아보자
  • [알고리즘] 특정 기준으로 리스트 정렬하기 (python) - key=lambda
  • [코테] 자주 쓰이는 Python 기본 함수 정리 (계속 업데이트)
당니이
당니이
씩씩하게 공부하기 📚💻
  • 당니이
    다은이의 컴퓨터 공부
    당니이
  • 전체
    오늘
    어제
    • 분류 전체보기 (136)
      • Achieved 👩🏻 (14)
        • 생각들 (2)
        • TIL (6)
        • Trial and Error (1)
        • Inspiration ✨ (0)
        • 미국 박사 준비 🎓 (1)
      • Computer Vision💖 (39)
        • Basic (9)
        • Video (5)
        • Continual Learning (7)
        • Generative model (2)
        • Domain (DA & DG) (5)
        • Multimodal (8)
        • Multitask Learning (1)
        • Segmentation (1)
        • Colorization (1)
      • RL 🤖 (1)
      • Autonomous Driving 🚙 (11)
        • Geometry (4)
        • LiDAR 3D Detection (1)
        • Trajectory prediction (2)
        • Lane Detection (1)
        • HDmap (3)
      • Linux (15)
      • PyTorch👩🏻‍💻 (10)
      • Linear Algebra (2)
      • Python (5)
      • NLP (10)
        • Article 📑 (1)
      • Algorithms 💻 (22)
        • Basic (8)
        • BAEKJOON (8)
        • Programmers (2)
      • ML (1)
        • 통계적 머신러닝(20-2) (1)
      • SQL (3)
      • 기초금융 💵 (1)
  • 블로그 메뉴

    • 홈
    • About me
  • 링크

    • 나의 소박한 github
    • Naver 블로그
  • 공지사항

  • 인기 글

  • 태그

    리눅스
    알고리즘
    코딩테스트
    Python
    dfs
    domain adaptation
    자료구조
    CV
    LLM
    pytorch
    continual learning
    CL
    Incremental Learning
    conda
    백준
    백트래킹
    til
    domain generalization
    Linux
    NLP
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
당니이
[알고리즘] 수학 관련 알고리즘 Code - 에라토스테네스의 체, 유클리드 호제법
상단으로

티스토리툴바