728x90
반응형

알고리즘 2

밀러 - 라빈 소수 판별법 (Miller - Rabin primality test)

컴퓨터 공학에 입문한 뒤 대부분 처음으로 배우는 소수 판별 알고리즘은 에라토스테네스의 체 알고리즘이다. 에라토스테네스의 체는 소수를 판별하고 싶은 범위 안의 소수인 수의 모든 배수를 차례로 제거해서 원하는 수의 범위에서 어떤 수가 소수인지 판별 할 수 있는 알고리즘이다. 이는 꽤나 직관적인 알고리즘으로, 알고리즘이 작동하는 방식을 보면 소수라는 체로 소수가 아닌 수를 거르는 것처럼 보인다. 따라서 알고리즘의 고안자인 에라토스테네스의 이름과 체를 붙여서 에라토스테네스의 체 라는 이름을 가지고 있다. 에라토스테네스의 체는 O(N^2) 시간복잡도를 가진 알고리즘이다. 그런데 놀랍게도 에라토스테네스의 체를 가르쳐 준 후, 컴퓨터 공학 학부를 졸업할 때까지 일반적인 학부 과정상에서 소수 판별에 대한 더 효율적인 ..

INU 매트랩 Cody 챌린지 2021 참가 후기

2021-05-26에 열린 INU 매트랩 Cody 챌린지 2021에 참가했다. 교내 대회였는데 공대, 정보대 통합해서 matlab을 배우는 과는 대부분 참여 가능한 대회인 듯했다. 나는 matlab을 이번 학기에 수업으로 처음 배웠다. 개인적으로 다른 공부에 매진하느라 매트랩은 수업에서 다루는 정도만 알기 때문에 원래는 대회에 참가할 생각이 없었다. 그런데 선착순으로 참가 신청을 하면 스타벅스 아메리카노 기프트콘을 준다고 해서.. 본인은 선착순, 기프티콘 이런 거 못 참는 사람이기 때문에 낚여서 신청해버렸다. 그래서 뭐 어쩌겠는가.. 신청을 해서 기프티콘까지 받았는데 한 문제라도 풀어야 양심이 있지.. 라는 생각으로 대회에 임했다. 대회는 오후 6~9시까지 3시간 동안 진행됐다. 총 문제는 10문제였는데..

728x90
반응형