정수론
-
백준 3474번: 교수가 된 현우정수론(Number theory) 2018. 9. 14. 18:59
https://www.acmicpc.net/problem/3474 1. 문제0 의 개수를 찾는 문제 2. 알고리즘키워드 - 정수론 문제가 이해가 안되서 인터넷에 있는 해답 보면서 풀었다. 2, 5 로 체크하면 되는 문제라고 하는데 흠?2,5 나누어서 떨어지면 0 이기 때문에 체크하나 3. 코드 12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #de..
-
백준 4673번: 셀프 넘버정수론(Number theory) 2018. 6. 29. 17:00
https://www.acmicpc.net/problem/4673 1. 문제셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114..
-
백준 10610번: 30정수론(Number theory) 2018. 6. 29. 13:41
https://www.acmicpc.net/problem/10610 1. 문제어느날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한다. 미르코를 도와 그가 만들고 싶어하는 수를 계산하는 프로그램을 작성하라. (그 수가 존재한다면) 2. 알고리즘키워드 - 정수론, 그리드 알고리즘 30 이란 숫자를 분리 하면 [3, 0] 으로 분리 할 수 있다.분리된 수의 합은 3 임으로 3의 배수이다.숫자 [3, 0] 의 조합으로 만들 수 있는 30의 배수 중 가장 큰 수는 [30] 이다. 숫자 102를 분리 하면 [1, 0, 2] 으로 분리 된다.분리 된 수의 합은 3 임으로 3의 배..
-
백준 13866번: 팀 나누기구현(Implementation) 2018. 6. 13. 14:27
https://www.acmicpc.net/problem/13866 1. 문제 요약 입력 받은 정수로 2개의 팀을 만들때 레벨 차이가 가장 잓은 값을 출력하는 문제. 2. 알고리즘 입력 받은 수를 정렬을 하고 가장 큰 값과 + 가장 작은 값 합을 구하고 나머지 값을 합을 만든다. 두 합에 차이의 절대 값을 출력 한다. 3. 코드 1234567891011121314151617181920212223242526272829#include #include // min#include #include #include #include #include #include #include #include using namespace std; int main() { std::ios::sync_with_stdio(false); ..
-
백준 1598번: 꼬리를 무는 숫자 나열구현(Implementation) 2018. 6. 13. 12:28
https://www.acmicpc.net/problem/1598 1. 문제 요약 두 수가 주어지고 두 수간의 거리를 구하는 문제 2. 알고리즘 입력 받은 두 정수 중 작은 값에서 큰 값으로 4를 더하면서 카운팅을 한다. 작은 값에 값이 큰 값보다 커지면 종료 하고 두수의 차이를 더해주면 높이가 된다. 11 33 을 예를 들자면 1 - 15 / 33 2 - 19 / 33 3 - 23 / 33 4 - 27 / 33 5 - 31 / 33 6 - 35 / 33 -------------> 큰 값이 더 작기 때문에 종료 답은 6 + (35 - 33) = 8 3. 비고 설명이 부족하고 논리적이지 않다. 접근을 감으로 해서 그런지 쉽게 잊을 거 같다. 4. 코드 123456789101112131415161718192..