Algorithm(218)
-
[BOJ] 1676번 : 팩토리얼 0의 개수
1. problem : https://www.acmicpc.net/problem/1676 2. solution 1 :#include using namespace std;int n; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> n; int cnt = 0; for (int i = 5; i 0이 생기기 위해서는 10이 곱해져야 한다. 10은 2 * 5로, 2와 5의 배수를 찾으면 된다. 하지만, 2의 배수보다 5의 배수가 적기 때문에, 5의 배수의 개수를 세면 된다. 이때, 5의 제곱수는 5의 개수가 제곱승만큼 존재하게 된다. 예를 들어, 5^2은 5가 2개 존재한다. 따라서, 5의 배수, 25의 배수 그리고 125의 배수를 차례차례 더해줘야 ..
2024.10.02 -
[BOJ] 4883번 : 삼각 그래프
1. problem : https://www.acmicpc.net/problem/4883 2. solution 1 :#include using namespace std;const int val = 100005;int d[val][4]; int a[val][4];int main(void) { ios::sync_with_stdio(0); cin.tie(0); int t = 0; while (true) { t++; int n; cin >> n; if (n == 0) return 0; for (int i = 1; i > a[i][j]; } d[1][1] = INT_MAX; d[1][2] = a[1][2]; d[1][3] = a[1][2] + a[1][3]; for (int i = 2;..
2024.10.02 -
[BOJ] 4948번 : 베르트랑 공준
1. problem : https://www.acmicpc.net/problem/4948 2. solution 1:#include using namespace std;const int val = 123456 * 2;vector eratos(int a) { vector primes; vector nums(a + 1, true); nums[1] = false; for (int i = 2; i * i primes = eratos(val); while (true) { int n; cin >> n; if (n == 0) return 0; int cnt = 0; for (auto p : primes) { if (n 에라토스테네스의 체를 이용해 풀었다. 공식이 기억나지 않아, 저번에 작성했던..
2024.10.01 -
[BOJ] 1788번 : 피보나치 수의 확장
1. problem : https://www.acmicpc.net/problem/1788 2. solution 1 :#include using namespace std;int n;const int mod = 1000000000;const int val = 1000005;int d[val]; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> n; d[1] = 1; for (int i = 2; i dp를 이용해 풀었다. 따라서, 세 가지 스텝을 따른다. 1. 테이블을 정의한다. d[i] = i번째 피보나치 수 2. 점화식을 작성한다. d[i] = d [i-1] + d [i-2] 3. 초기값을 설정한다. d[0] = 0, d [1] = 1n이 음..
2024.10.01 -
[BOJ] 1193번 : 분수찾기
1. problem : https://www.acmicpc.net/problem/1193 2. solution 1 :#include using namespace std;int x; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> x; int n = 0; while ((n * (n + 1) / 2) 1~n까지의 자연수합으로 n을 결정한 다음, 규칙을 이용해서 diff를 더하거나 빼줬다. 3. solution 2 :// Authored by : SciEm// Co-authored by : -// http://boj.kr/4786afbccbb148098938f248823abd35#include using namespace std;int main() ..
2024.10.01 -
[BOJ] 1904번 : 01타일
1. problem : https://www.acmicpc.net/problem/1904 2. solution 1:#include using namespace std;const int mod = 15746; int n; int d[1000005]; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> n; d[1] = 1, d[2] = 2; for (int i = 3; i dp를 이용해 풀었다. 따라서, 세가지 스텝을 따른다. 1. 테이블을 정의한다. d[i] = i자리를 만드는데 필요한 경우의 수2. 점화식을 작성한다. d[i] = d[i-1] + d[i-2] 3. 초기값을 설정한다. d[1] = 1, d[2] = 2
2024.10.01