'Algorithm/Problem Solving'에 해당되는 글 41건
- 2020.05.17 :: [BOJ/1676] 팩토리얼 0의 개수
- 2020.05.16 :: [BOJ/10872] 팩토리얼
- 2020.05.16 :: [BOJ/11653] 소인수분해
- 2020.05.15 :: [BOJ/6588] 골드바흐의 추측
- 2020.05.14 :: [BOJ/1929] 소수 구하기
- 2020.05.13 :: [BOJ/1978] 소수 찾기
- 2020.05.13 :: [BOJ/11576] Base Conversion
- 2020.05.12 :: [BOJ/2089] -2진수
- 2020.05.12 :: [BOJ/1212] 8진수 2진수
- 2020.05.11 :: [BOJ/1373] 2진수 8진수
(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
문제 링크
- https://www.acmicpc.net/problem/1676
사용 알고리즘
-
풀이
- 끝자리가 0이 되려면 2와 5가 필요
- 따라서 0이 몇 개인지 알아내려면, N!를 소인수 분해하여 2와 5의 개수중 작은 수의 개수가 0의 개수
소스 코드
- https://github.com/moomini/algorithm/blob/master/boj/1676.cpp
#include <cstdio>
int main(void) {
int fivesCount = 0, twosCount = 0;
int n; for (scanf("%d", &n); n--;) {
int num = n + 1;
while (num % 5 == 0) {
num /= 5;
++fivesCount;
}
while (num % 2 == 0) {
num /= 2;
++twosCount;
}
}
printf("%d\n", (fivesCount < twosCount) ? fivesCount : twosCount);
return 0;
}
|
cs |
'Algorithm > Problem Solving' 카테고리의 다른 글
[BOJ/2751] 수 정렬하기 2 (0) | 2020.05.18 |
---|---|
[BOJ/2004] 조합 0의 개수 (0) | 2020.05.17 |
[BOJ/10872] 팩토리얼 (0) | 2020.05.16 |
[BOJ/11653] 소인수분해 (0) | 2020.05.16 |
[BOJ/6588] 골드바흐의 추측 (0) | 2020.05.15 |
(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
문제 링크
- https://www.acmicpc.net/problem/10872
사용 알고리즘
-
풀이
-
소스 코드
- https://github.com/moomini/algorithm/tree/master/boj
#include <cstdio> int main(void) { int ans = 1; int n; for (scanf("%d", &n); n--;) { ans *= (n + 1); } printf("%d\n", ans); return 0; } | cs |
'Algorithm > Problem Solving' 카테고리의 다른 글
[BOJ/2004] 조합 0의 개수 (0) | 2020.05.17 |
---|---|
[BOJ/1676] 팩토리얼 0의 개수 (0) | 2020.05.17 |
[BOJ/11653] 소인수분해 (0) | 2020.05.16 |
[BOJ/6588] 골드바흐의 추측 (0) | 2020.05.15 |
[BOJ/1929] 소수 구하기 (0) | 2020.05.14 |
(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
문제 링크
- https://www.acmicpc.net/problem/11653
사용 알고리즘
-
풀이
- 2부터 루트N까지 루프를 돌며 나눠지지 않을 때 까지 계속 나누며 출력
- N 자체가 소수일 수도 있으므로 해당 부분 처리
소스 코드
- https://github.com/moomini/algorithm/tree/master/boj
#include <cstdio>
int main(void) {
int n; scanf("%d", &n);
for (int i = 2; i * i <= n; ++i) {
while (n % i == 0) {
printf("%d\n", i);
n /= i;
}
}
if (n > 1) printf("%d\n", n);
return 0;
}
|
cs |
'Algorithm > Problem Solving' 카테고리의 다른 글
[BOJ/1676] 팩토리얼 0의 개수 (0) | 2020.05.17 |
---|---|
[BOJ/10872] 팩토리얼 (0) | 2020.05.16 |
[BOJ/6588] 골드바흐의 추측 (0) | 2020.05.15 |
[BOJ/1929] 소수 구하기 (0) | 2020.05.14 |
[BOJ/1978] 소수 찾기 (0) | 2020.05.13 |
(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
문제 링크
- https://www.acmicpc.net/problem/6588
사용 알고리즘
- 에라토스테네스의 채
풀이
-
소스 코드
- https://github.com/moomini/algorithm/blob/master/boj/6588.cpp
#include <cstdio>
int arr[1000003];
int main(void) {
for (int i = 2; i <= 1000000; ++i) {
if (arr[i] == 0) {
arr[i] = 1;
for (int j = i + i; j <= 1000000; j += i) {
arr[j] = -1;
}
}
}
while (1) {
int n; scanf("%d", &n);
if (n == 0) break;
int flag = 0;
for (int i = 2; i <= n; ++i) {
if (arr[i] == 1 && arr[n - i] == 1) {
printf("%d = %d + %d\n", n, i, n - i);
flag = 1;
break;
}
}
if (flag == 0) printf("Goldbach's conjecture is wrong.\n");
}
return 0;
}
|
cs |
'Algorithm > Problem Solving' 카테고리의 다른 글
[BOJ/10872] 팩토리얼 (0) | 2020.05.16 |
---|---|
[BOJ/11653] 소인수분해 (0) | 2020.05.16 |
[BOJ/1929] 소수 구하기 (0) | 2020.05.14 |
[BOJ/1978] 소수 찾기 (0) | 2020.05.13 |
[BOJ/11576] Base Conversion (0) | 2020.05.13 |
(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
문제 링크
- https://www.acmicpc.net/problem/1929
사용 알고리즘
- 에라토스테네스의 채
풀이
-
소스 코드
- https://github.com/moomini/algorithm/blob/master/boj/1929.cpp
#include <cstdio>
int arr[1000003];
int main(void) {
for (int i = 2; i <= 1000000; ++i) {
if (arr[i] == 0) {
arr[i] = 1;
for (int j = i + i; j <= 1000000; j += i) {
arr[j] = -1;
}
}
}
int m, n; scanf("%d %d", &m, &n);
for (int i = m; i <= n; ++i) {
if (arr[i] == 1) {
printf("%d\n", i);
}
}
return 0;
}
|
cs |
'Algorithm > Problem Solving' 카테고리의 다른 글
[BOJ/11653] 소인수분해 (0) | 2020.05.16 |
---|---|
[BOJ/6588] 골드바흐의 추측 (0) | 2020.05.15 |
[BOJ/1978] 소수 찾기 (0) | 2020.05.13 |
[BOJ/11576] Base Conversion (0) | 2020.05.13 |
[BOJ/2089] -2진수 (0) | 2020.05.12 |
(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
문제 링크
- https://www.acmicpc.net/problem/1978
사용 알고리즘
-
풀이
-
소스 코드
- https://github.com/moomini/algorithm/blob/master/boj/1978.cpp
#include <cstdio> int main(void) { int ans = 0; int n; for (scanf("%d", &n); n--;) { int num; scanf("%d", &num); if (num < 2) continue; int flag = 1; for (int i = 2; i * i <= num; ++i) { if (num % i == 0) { flag = 0; break; } } if (flag) ++ans; } printf("%d\n", ans); return 0; } | cs |
'Algorithm > Problem Solving' 카테고리의 다른 글
[BOJ/6588] 골드바흐의 추측 (0) | 2020.05.15 |
---|---|
[BOJ/1929] 소수 구하기 (0) | 2020.05.14 |
[BOJ/11576] Base Conversion (0) | 2020.05.13 |
[BOJ/2089] -2진수 (0) | 2020.05.12 |
[BOJ/1212] 8진수 2진수 (0) | 2020.05.12 |
(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
문제 링크
- https://www.acmicpc.net/problem/11576
사용 알고리즘
-
풀이
- A진수를 10진수로 변환하고, 10진수를 B진수로 변환
소스 코드
- https://github.com/moomini/algorithm/blob/master/boj/11576.cpp
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int main(void) {
int a, b; scanf("%d %d", &a, &b);
int num = 0;
int m; for (scanf("%d", &m); m--;) {
num *= a;
int temp; scanf("%d", &temp);
num += temp;
}
if (num == 0) printf("0");
vector<int> v;
while (num != 0) {
v.push_back(num % b);
num /= b;
}
reverse(v.begin(), v.end());
int len = v.size();
for (int i = 0; i < len; ++i) printf("%d ", v[i]);
printf("\n");
return 0;
}
|
cs |
'Algorithm > Problem Solving' 카테고리의 다른 글
[BOJ/1929] 소수 구하기 (0) | 2020.05.14 |
---|---|
[BOJ/1978] 소수 찾기 (0) | 2020.05.13 |
[BOJ/2089] -2진수 (0) | 2020.05.12 |
[BOJ/1212] 8진수 2진수 (0) | 2020.05.12 |
[BOJ/1373] 2진수 8진수 (0) | 2020.05.11 |
(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
문제 링크
- https://www.acmicpc.net/problem/2089
사용 알고리즘
-
풀이
- 나머지가 음수가 되지 않도록 계산
소스 코드
- https://github.com/moomini/algorithm/blob/master/boj/2089.cpp
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int main(void) {
int n; scanf("%d", &n);
vector<int> v;
if (n == 0) printf("0");
while (n != 0) {
int remainder = n % (-2);
n /= (-2);
if (remainder == -1) {
remainder = 1;
++n;
}
v.push_back(remainder);
}
reverse(v.begin(), v.end());
int size = v.size();
for (int i = 0; i < size; ++i) printf("%d", v[i]);
printf("\n");
return 0;
}
|
'Algorithm > Problem Solving' 카테고리의 다른 글
[BOJ/1978] 소수 찾기 (0) | 2020.05.13 |
---|---|
[BOJ/11576] Base Conversion (0) | 2020.05.13 |
[BOJ/1212] 8진수 2진수 (0) | 2020.05.12 |
[BOJ/1373] 2진수 8진수 (0) | 2020.05.11 |
[BOJ/2745] 진법 변환 (0) | 2020.04.29 |
(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
문제 링크
- https://www.acmicpc.net/problem/1212
사용 알고리즘
-
풀이
- 8진수 1자리당 2진수 3자리 (첫 번째 수는 1로 시작)
소스 코드
- https://github.com/moomini/algorithm/blob/master/boj/1212.cpp
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
char input[333337];
int main(void) {
scanf("%s", input);
int len = strlen(input);
for (int i = 0; i < len; ++i) {
int num = input[i] - '0';
int temp[3];
for (int j = 0; j < 3; ++j) {
temp[j] = num % 2;
num /= 2;
}
reverse(temp, temp + 3);
if (i == 0) {
int flag = 0;
for (int j = 0; j < 3; ++j) {
if (flag == 1) {
printf("%d", temp[j]);
}
if (flag == 0 && temp[j] == 1) {
flag = 1;
printf("%d", temp[j]);
}
}
if (flag == 0) printf("0\n");
}
else {
for (int j = 0; j < 3; ++j) {
printf("%d", temp[j]);
}
}
}
printf("\n");
return 0;
}
|
'Algorithm > Problem Solving' 카테고리의 다른 글
[BOJ/11576] Base Conversion (0) | 2020.05.13 |
---|---|
[BOJ/2089] -2진수 (0) | 2020.05.12 |
[BOJ/1373] 2진수 8진수 (0) | 2020.05.11 |
[BOJ/2745] 진법 변환 (0) | 2020.04.29 |
[BOJ/11005] 진법 변환 2 (0) | 2020.04.27 |
(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
문제 링크
- https://www.acmicpc.net/problem/1373
사용 알고리즘
-
풀이
- 세 자리씩 끊어서 계산
소스 코드
- https://github.com/moomini/algorithm/blob/master/1373.cpp
#include <cstdio>
#include <cstring>
char arr[1000003];
int main(void) {
scanf("%s", arr);
int len = strlen(arr);
if ((len % 3) == 1) {
printf("%d", arr[0] - '0');
}
else if((len % 3) == 2) {
printf("%d", (arr[0] - '0') * 2 + (arr[1] - '0'));
}
for (int i = len % 3; i < len; i += 3) {
printf("%d", (arr[i] - '0') * 4 + (arr[i + 1] - '0') * 2 + (arr[i + 2] - '0'));
}
printf("\n");
return 0;
}
|
'Algorithm > Problem Solving' 카테고리의 다른 글
[BOJ/2089] -2진수 (0) | 2020.05.12 |
---|---|
[BOJ/1212] 8진수 2진수 (0) | 2020.05.12 |
[BOJ/2745] 진법 변환 (0) | 2020.04.29 |
[BOJ/11005] 진법 변환 2 (0) | 2020.04.27 |
[BOJ/9613] GCD 합 (0) | 2020.04.23 |