본문 바로가기

Algorithm/Math

(100)
(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
(C++) - 백준(BOJ) 11050번 : 이항계수 1 https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 조합을 구하는 문제였습니다. 풀이방법 1. 이항정리를 이용하는 법 : nCk = n-1Ck +n-1Ck-1 2. 그냥 구하기 Code 1. 이항정리 이용 #include using namespace std; int n,k,a[11][11]; //nCk = n-1Ck + n-1Ck-1 int dp(int n, int k){ if(n == k || k == 0) return 1; int &ret = a[n][k]; if(ret) return ret; ret = dp(n-1,k..