정수론

알고리즘/백준

[백준] 2004 조합 0의 개수 (Python)

2004번: 조합 0의 개수 첫째 줄에 정수 $n$, $m$ ($0 \le m \le n \le 2,000,000,000$, $n \ne 0$)이 들어온다. www.acmicpc.net 문제 풀이 최근 풀었던 문제 중에 가장 아이디어를 떠올리기 어려웠던 것 같다. 기본적으로 알아야 할 조합의 개념은 nCr = 1/r! * n!/(n-r)! 이라는 점이다. 입력의 개수는 두 개로 정해져 있지만, 수의 범위가 20억까지도 될 수 있으므로 단순하게 조합을 직접 계산하면 시간초과가 날 수밖에 없다. 하지만 문제에서 요구하는 것이 조합의 결과를 나타내라 - 가 아닌 조합의 결과에서 끝자리 0의 개수를 나타내라 - 이므로 10이 몇번이나 곱해졌는가에 초점을 맞춰야 한다. 10은 2와 5의 곱으로 나타낼 수 있으므로..

알고리즘/백준

[백준] 2981 검문 (Python)

2981번: 검문 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간 www.acmicpc.net 문제 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간을 때우기 위해서 수학 게임을 하기로 했다. 먼저 근처에 보이는 숫자 N개를 종이에 적는다. 그다음, 종이에 적은 수를 M으로 나누었을 때, 나머지가 모두 같게 되는 M을 모두 찾으려고 한다. M은 1보다 커야 한다. N개의 수가 주어졌을 때, 가능한 M을 모두 찾는 프로그램을 작성하시오. 입..

알고리즘/백준

[11502] 세 개의 소수 문제 (Python)

문제 11502번: 세 개의 소수 문제 정수론(수학)에서, 세 개의 소수 문제(3-primes problem) 는 다음과 같은 추측을 말한다. '5보다 큰 임의의 홀수는 정확히 세 개의 소수들의 합으로 나타낼 수 있다. 물론 하나의 소수를 여러 번 더할 www.acmicpc.net 풀이 이 문제는 여러 가지 테스트케이스에서 어떤 수가 주어졌을 때, 세 개의 소수의 합으로 나타낼 수 있는지를 확인하는 문제입니다. 그렇다면 우선 소수를 걸러내는 에라토스테네스의 체가 필요할 것이며, 매 테스트 케이스마다 소수를 새로 구하지 않고 한 번만 계산하는 것이 좋아 보입니다. 소수들을 찾았으면 소수들의 합으로 나타내야 합니다. 이는 세번의 for문으로도 충분히 풀리게 되는데 그 이유는 1000까지의 소수의 개수가 16..

DeveloperJason
'정수론' 태그의 글 목록