Skip to content

Commit 9e8666e

Browse files
author
MS Kim(tony9402)
authored
fix: 알고리즘 틀린 설명 수정 및 예시 코드 변경 (#211)
* fix: 틀린 설명 수정 및 예시 코드 변경 * fix: 소수 판별 설명 수정 및 소수 판별 소스코드 추가
1 parent 90e3110 commit 9e8666e

File tree

1 file changed

+32
-3
lines changed

1 file changed

+32
-3
lines changed

Algorithm/README.md

+32-3
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,36 @@ Count Sort 는 말 그대로 몇 개인지 개수를 세어 정렬하는 방식
337337

338338
## Prime Number Algorithm
339339

340-
소수란 양의 약수를 딱 두 개만 갖는 자연수를 소수라 부른다. 2, 3, 5, 7, 11, …이 그런 수들인데, 소수를 판별하는 방법으로 첫번째 어떤 수 N 이 소수인지 판별하기 위해서는 N 을 2 부터 N 보다 1 작은 수까지 나누어서 나머지가 0 인 경우가 있는지 검사하는 방법과 두번째로 `에라토스테네스의 체`를 사용할 수 있다.
340+
소수란 양의 약수를 딱 두 개만 갖는 자연수를 소수라 부른다. 2, 3, 5, 7, 11, …이 그런 수들인데, 소수를 판별하는 방법으로 첫 번째로 3보다 크거나 같은 임의의 양의 정수 N이 소수인지 판별하기 위해서는 N 을 2 부터 N 보다 1 작은 수까지 나누어서 나머지가 0 인 경우가 있는지 검사하는 방법과 두 번째로 `에라토스테네스의 체`를 사용할 수 있다.
341+
342+
아래 코드는 2부터 N - 1까지를 순회하며 소수인지 판별하는 코드와 2부터 √N까지 순회하며 소수인지 판별하는 코드이다.
343+
```cpp
344+
// Time complexity: O(N)
345+
bool is_prime(int N) {
346+
if(N == 1) return false;
347+
for(int i = 2; i < N - 1; ++i) {
348+
if(N % i == 0) {
349+
return false;
350+
}
351+
}
352+
return true;
353+
}
354+
```
355+
356+
```cpp
357+
// Time complexity: O(√N)
358+
bool is_prime(int N) {
359+
if(N == 1) return false;
360+
for(long long i = 2; i * i <= N; ++i) { // 주의) i를 int로 선언하면 i*i를 계산할 때 overflow가 발생할 수 있다.
361+
if(N % i == 0) {
362+
return false;
363+
}
364+
}
365+
return true;
366+
}
367+
```
368+
369+
341370

342371
### 에라토스테네스의 체 [Eratosthenes’ sieve]
343372

@@ -401,9 +430,9 @@ Count Sort 는 말 그대로 몇 개인지 개수를 세어 정렬하는 방식
401430

402431
| Space Complexity | Time Complexity |
403432
| :--------------: | :-------------: |
404-
| O(n) | O(loglogn) |
433+
| O(n) | O(nloglogn) |
405434

406-
#### [code](https://github.com/alstn2468/BaekJoon_Online_Judge/blob/master/1900~1999/1929.c)
435+
#### [code](http://boj.kr/90930351636e46f7842b1f017eec831b)
407436

408437
[뒤로](https://github.com/JaeYeopHan/for_beginner)/[위로](#algorithm)
409438

0 commit comments

Comments
 (0)