본문 바로가기

백준88

[백준] 2004 - 조합 0의 개수, C++ https://www.acmicpc.net/problem/2004 2004번: 조합 0의 개수 첫째 줄에 정수 n, m(0≤m≤n≤2,000,000,000, n!=0)이 들어온다. www.acmicpc.net 본 문제는 nCm의 끝자리 0의 개수를 출력하는 문제다. 문제의 크기가 2,000,000,000 이므로 long long 자료형을 써야 하며 조합을 직접 계산해서 0의 개수를 출력하는 것은 불가능하다. 따라서, 다음과 같은 절차로 코딩을 해야 한다. 5 ~ n까지 5의 배수를 5로 나누었을 때 몫의 합 2 ~ n까지 2의 배수를 2로 나누었을 때 몫의 합 5 ~ (n-m)까지 5의 배수를 5로 나누었을 때 몫의 합 2 ~ (n-m)까지 2의 배수를 2로 나누었을 때 몫의 합 (1번의 결과) - (3.. 2020. 1. 9.
[백준 1675] 팩토리얼 0의 개수, C++ https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 본 문제는 N! 에서 뒤어서부터 0이 아닐 때까지 0의 개수를 구하는 것이다. 팩토리얼에서 N이 13만 돼도 엄청 큰 숫자다 그렇기 때문에 직접 팩토리얼을 구한 다음 0의 개수를 셀 수 없다. 따라서, 뒤에 0이 나오기 위한 조건으로 구해야 한다. 어떤 수에 10이 곱해졌을 때, 뒷자리에 0이 추가된다. 그렇기 때문에 10이 곱해지는 개수를 구해야 하는데 10은 2 * 5이고 N! 에서 2의 개수보다 5의 개수가 무조건 적게 나오기 때문에 5 ~ N까지 반복하면서 X에 5가 몇 번 .. 2020. 1. 9.
[백준 6588] 골드바흐의 추측, C++ https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 문제 1742년, 독일의 아마추어 수학가 크리스티안 골드바흐는 레온하르트 오일러에게 다음과 같은 추측을 제안하는 편지를 보냈다. 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. 예를 들어 8은 3 + 5로 나타낼 수 있고, 3과 5는 모두 홀수인 소수이다. 또, 20 = 3 + 17 = 7 + 13, 42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23 이다. 이 추측은 아직도 해결되지 않은 문제이다. 백만 이하의 모 www.acmicpc.net 본 문제는 1998 University of Ulm Local Contest G번 문제다. 1742년 골드바흐는 다음과 같은 추측.. 2020. 1. 9.
[백준 1929] 소수 구하기, C++ https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) www.acmicpc.net 본 문제는 소수 구하기 문제인데 입력 값이 1,000,000이다. 소수를 판단하는 알고리즘은 1 2 3 4 5 6 7 bool pnum (int n) { if (n 2020. 1. 9.
[백준 1037] 약수, C++ https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. www.acmicpc.net 본 문제는 주어진 약수를 이용하여 어떤 수 인지 맞추는 문제다. 제일 큰 약수와 제일 작은 약수의 곱으로 쉽게 풀 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include #include #include using namespace std; int main(){ int n, tmp, min = 1e9, max = 0; scanf("%d.. 2020. 1. 8.
[백준 4375] 1, C++ https://www.acmicpc.net/problem/4375 4375번: 1 문제 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. 입력 입력을 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, n이 주어진다. 출력 1로 이루어진 n의 배수 중 가장 작은 수의 자리수를 출력한다. 예제 입력 1 복사 3 7 9901 예제 출력 1 복사 3 6 12... www.acmicpc.net 본 문제는 2001 Waterloo's local Programming Contests E번 문제로 n의 배수 중 1로만 이루어진 제일 작은 수의 자릿수를 구하는 문제다. 계산할 때, long l.. 2020. 1. 8.