C&&C++/Algorithm_basic(5)
-
[math] 약수(divisor)
1. 약수란? 어떤 수를 나누어 떨어지게 할 수 있는 수 #include using namespace std;vector find_divisor(int n) { vector divisor; for (int i = 1; i * i = 0; i--) { if (divisor[i] * divisor[i] == n) continue; divisor.push_back(n / divisor[i]); } return divisor;}int main(void) { ios::sync_with_stdio(0); cin.tie(0); int x; cin >> x; vector ans = find_divisor(x); for (auto d : ans) cout 어떤 합성수 N이 존재할 때, root(N) 이하로 ..
2024.09.23 -
[C++] Prime number
0. 합성수 N에서 1을 제외한 가장 작은 약수는 root(N)이하이다. 1. 1부터 n까지 모든 소수 찾기 #include using namespace std;vector isprime(int n) { vector primes; for (int i =2; i i) break; if (i % p == 0) { isprime = 0; break; } } if (isprime) primes.push_back(i); }}4 이상의 모든 합성수는 약수의 최솟값이 prime number다. 따라서, primes에 소수를 추가해 주면서, 소수판별을 진행한다. 2. 에라토테네스의 체 #..
2024.09.22 -
[C++] sort
출처 : https://blog.encrypted.gg/966 [실전 알고리즘] 0x0F강 - 정렬 II안녕하세요, 정렬 두 번째 시간입니다. 첫 시간에는 머지 소트와 퀵 소트를 배웠고 이번에는 카운팅 소트랑 라딕스 소트를 배울 예정입니다. 아마 전 시간보다는 더 쉬울거라 걱정을 조금 덜어blog.encrypted.gg
2024.08.29 -
[C++] Quick_sort
1. code 1 :#include using namespace std;int n = 10;int arr[1000001] = {15, 25, 22, 357, 16, 23, -53, 12, 46, 3};void quick_sort(int st, int en) { // arr[st to en-1]을 정렬할 예정 if(en = pivot) r--; if(l > r) break; // l과 r이 역전되는 그 즉시 탈출 swap(arr[l], arr[r]); } swap(arr[st], arr[r]); quick_sort(st, r); quick_sort(r+1, en);}int main() { ios_base::sync_with_stdio(0); cin.tie(0); quick_sort..
2024.08.26 -
[C++] Merge_sort
#include using namespace std;int n;int arr[1000005];int tmp[2000005];void merge(int st, int ed) { int mid = (st + ed) / 2; int lidx = st; int ridx = mid; for (int i = st; i > n; for (int i = 0; i > arr[i]; merge_sort(0, n); for (int i = 0; i
2024.08.26