반응형

공부 36

백준 2231번: 분해합 [C++]

https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 코드 #include using namespace std; int decompose(int n) { int de_num = n; while(n != 0) { de_num += n%10; n /= 10; } return de_num; } int main() { int n, answer = 0;; cin >> n; for(int i=1; i

백준 2798번: 블랙잭 [C++]

https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 코드 #include #include using namespace std; int sum_triple(vector v, int index) { return v[index] + v[index+1] + v[index+2]; } int main() { int n, m, answer = -1; vector cards; cin >> n >> m; for(int i=0; i>..

백준 1002번: 터렛 [C++]

https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 코드 #include #include using namespace std; void hanoi(int n, int start, int mid, int end) { if(n == 1) { printf("%d %d\n", start, end); } else { hanoi(n - 1, start, end, mid); printf("%d %d\n", start, end); hanoi(n - ..

백준 2447번: 별 찍기-10 [C++]

https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 코드 #include using namespace std; char pattern[2187][2187]; void init(int n) { for(int i=0; i

백준 10870번: 피보나치 수 5 [C++]

https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 코드 #include #include using namespace std; int main() { vector fibo; fibo.push_back(0); fibo.push_back(1); fibo.push_back(1); int n; cin >> n; for(int i=3; i

백준 1002번: 터렛 [C++]

https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 코드 #include #include using namespace std; class turret { public : double x; double y; double r; turret(double _x, double _y, double _r) { x = _x; y = _y; r = _r; } void change_value(double _x, double _y, double _r) { x = _x; y = _y; r = _r; } }; double ..

백준 3053번: 택시 기하학[C++]

https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 코드 #include #include using namespace std; int main() { double r, u_circle, t_circle; cin >> r; u_circle = M_PI * r * r; t_circle = r * r * 2; printf("%.6f\n", u_circle); printf("%.6f", t_circle); } 설명 생소해 보이는 택시 기하학에서 원의 정의를 이해하면 되는 문제이..

반응형