본문 바로가기

Algorithm/Math

(97)
(C++) - 백준(BOJ) 10178번 : 할로윈의 사탕 답 www.acmicpc.net/problem/10178 10178번: 할로윈의 사탕 할로윈데이에 한신이네는 아부지가 사탕을 나눠주신다. 하지만 한신이의 형제들은 서로 사이가 좋지않아 서른이 넘어서도 사탕을 공정하게 나누어 주지 않으면 서로 싸움이 난다. 매년 할로윈 www.acmicpc.net 단순 수학 문제였습니다. Code #include using namespace std; int main() { int t, candy, bs; cin >> t; while (t--) { cin >> candy >> bs; cout
(C++) - 백준(BOJ) 10101번 : 삼각형 외우기 #include using namespace std; int main() { int a[3], sum=0; for (int i = 0; i > a[i]; sum += a[i]; } if (sum != 180) { cout
(C++) - 백준(BOJ)코딩 10818번 : 최소, 최대 www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net loop를 사용해 최소, 최대를 찾아 출력하는 문제였습니다. Code #include using namespace std; int a[1000001], b = -1000001, s = 1000001,n; int main() { cin >> n; for (int i = 0; i > a[i]; if (b ..
(C++) - 백준(BOJ) 11653번 : 소인수분해 https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 간단한 수학문제였습니다. 풀이방법 1. n % cnt 의 결과가 양수 즉, 나머지가 남는다면 cnt를 나누어 떨어질때까지 1씩 증가시킵니다. 2. cnt를 출력합니다. Code #include using namespace std; int n; int main(){ cin >> n; int cnt = 2; while(n > 1){ int ret = n % cnt; if(ret) while((n % cnt)) cnt++; n /= cnt; cout
(C++) - 백준(BOJ) 10870번 : 피보나치 수 5 답 문제링크 : https://www.acmicpc.net/problem/10870 재귀문제를 메모이제이션으로 풀었습니다. 123456789101112131415161718192021222324#include using namespace std;int f(int num){ static int mem[21];//메모이제이션 if (mem[num] != 0) { return mem[num]; } if (num == 0 ) { return mem[num] = 0; } if (num == 1) { return mem[num] = 1; } return mem[num] = f(num - 1) + f(num - 2);}int main() { int num; cin >> num; cout
(C++) - 백준(BOJ)코딩 2501번 : 약수 구하기 답 www.acmicpc.net/problem/2501 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net Code #include using namespace std; int main() { int ans[10000] = { 10000 }, N , K, cnt = 0, p = 0; cin >> N >> K; for(int i = 1; i N) break; if (N % i == 0)//약수라면 { cnt++; ans[p++] = i; } } if (cnt < K) cout
(C++) - 백준(BOJ) 1735번 : 분수 합 https://www.acmicpc.net/problem/1735 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net gcd(최대공약수)를 구하는 문제였습니다. Code #include using namespace std; long GCD(long a, long b) { if (b>a) return GCD(b, a); if (a%b == 0) return b; else return GCD(b, a%b); } int main() { long up, down, up1, down1, N, M; cin >> up >> down >> up1 >> down1; N = down..
(C) - 백준(BOJ)코딩 1085번 : 직사각형에서 탈출 답 www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net 수학 문제였습니다. Code #include int main() { int x, y, w, h, xbig,ybig; scanf("%d %d %d %d", &x, &y, &w, &h); xbig = x