본문 바로가기

C++3

백준 1644번 - 소수의 연속합(C++) 문제백준, 골드 3, 문제 링크풀이 날짜: 2025.05.18풀이 시간: 23:05~00:11사용 언어: C++문제 해설연속된 소수의 합은 2D 테이블로 표현할 수 있다.$ table[i][j] $ = {i번째 소수부터 j번째 소수까지 연속된 소수의 합}(단, 0 ≤ i ≤ j인 정수 i, j)일반적으로 N 이하의 모든 소수에 대해서는 해당 테이블은 평균적으로 sqrt(N) * sqrt(N)의 셀이 존재한다고 알려져 있다.i > 0일 때, $ table[i][j] = table[0][j] - table[0][i-1] $로 나타낼 수 있다. 왜냐하면, 3~5번째의 연속된 소수의 합은 1~5번째 소수 합에서 1~2번째 연속된 소수의 합을 빼면 되기 때문이다. 이런 식으로 계산하면, table의 첫 번째 행만.. 2025. 5. 19.
[Effective C++] EC++ 정리하기 - Prechapter: 독자 여러분 반갑습니다 C++을 공부하면서, 실제로 깊이까지 공부해 본 적은 없다는 생각이 들어 책 'Effective C++'을 읽고 배운 점을 정리하고자 하였습니다. 잘못된 점이나 오류가 있다면 지적 바랍니다.해당 글은 Effective C++을 정리한 내용이지만, 제가 새로 배우거나 느낀 점 위주로 정리하였습니다. 책 자체가 워낙에 잘 쓰여서, 필요하다면 직접 해당 책을 읽어보시길 권장드립니다.이번 글에서는 도입부에서 알아놓고 가면 좋을 것들을 정리했다. 1. 암시적 타입 변환을 막기 위해 생성자는 explicit을 사용하자생성자를 만들 때, 암시적 타입 변환으로 객체를 생성해서 넣기를 바라지 않는 경우가 있다.이 경우, explicit으로 생성자를 만들자.class B {public:  explicit B(int x =.. 2025. 5. 18.
백준 32291번 - x와 x+1의 차이(증명 포함, C++) 문제백준, 실버 1, https://www.acmicpc.net/problem/32291풀이 날짜: 2025.4.15.풀이 시간: 10:49~11:32(43분)사용 언어: C++문제 해설해당 문제는 (x+1)의 자신을 제외한 약수를 구하는 문제이다.우선, 그에 도달하는 과정을 살펴보자.예제 1의 출력을 보면, x = 998일 때 x+1의 자신을 제외한 약수 1, 3, 9, 27, 37, 111, 333이 정답이 된다.이를 보고 출력이 되는 모든 양의 정수 k는 (x+1)의 약수라고 가설을 세울 수 있다.왜 k는 반드시 (x+1)의 약수인가?가설을 세웠으니 증명해 보자.다만 고등학생 때 배웠던 귀류법을 가지고 야매로 증명했다 보니, 정확하지 않을 수 있다는 점 양해 바란다. 잘못된 점이 있다면 지적해주면 .. 2025. 4. 15.