오일러 프로젝트 84

이번 문제는 문제가 길고 복잡하기 때문에 풀이 위주로 갑니다.

문제 그대로의 규칙을 사용해서 ‘간이 모노폴리’ 시뮬레이터를 잘 작성한다음, 이를 충분히 여러번 돌려서 최종적으로 말이 도착하는 위치에 대한 데이터를 생성하면 된다.

오일러 프로젝트 84 더보기

오일러 프로젝트 83

이번 문제 역시 80 x 80 행렬에서 움직인 경로의 최소합을 구하는 문제로, 81, 82번에서 한층 더 업그레이드 된 문제라고 한다. 개인적으로는 82번이 좀 더 어려웠다고 생각하는데, 이 83번은 그냥 보통의 다익스트라 알고리듬의 적용 문제이다.

오일러 프로젝트 83 더보기

오일러 프로젝트 82

(참고: 이 문제는 81번 문제의 좀 더 어려운 버전입니다)

아래와 같은 5×5 행렬이 있습니다. 맨 왼쪽 열의 아무곳에서나 출발하여 위/아래/오른쪽으로만 움직이면서 맨 오른쪽 열까지 갈 때, 빨갛게 표시된 경로의 합이 994로 가장 작습니다.

31kB 짜리 파일 matrix.txt에는 80×80 행렬의 정보가 들어있습니다. 위와 같은 방법으로 이 행렬의 맨 왼쪽 열에서 출발하여 오른쪽 열까지 갈 때, 경로 합의 최소값은 얼마입니까?

오일러 프로젝트 82 더보기

오일러 프로젝트 80

80번 문제는 자연수의 제곱근을 100자리까지 구하는 문제이다. 대부분의 프로그래밍 언어들은 실수의 제곱근을 계산하는 함수를 제공하지만, 기본 실수타입은 100자리까지의 정밀도를 제공하지 않는다. 따라서 손으로 제곱근을 구하는 계산과정을 코드로 구현해야 한다.

오일러 프로젝트 80 더보기

오일러 프로젝트 79

문제

온라인 뱅킹에서 흔히 쓰이는 보안 기법 중에는, 비밀번호에 포함된 숫자를 랜덤하게 세 개 입력하도록 하는 것이 있습니다.
예를 들어 531278이라는 비밀번호에 대해서 2번째, 3번째, 5번째 숫자를 입력하도록 하는 식입니다. 이 때 올바른 입력은 317이 됩니다.

첨부한 텍스트 파일 keylog.txt에는 로그인에 성공한 어떤 사용자의 입력 기록이 50건 담겨져 있습니다. (비밀번호의 길이는 알 수 없습니다)

3개의 숫자는 항상 앞쪽부터 순서대로 요청된다고 할 때, 위의 접속 기록에서 알아낼 수 있는 가장 짧은 길이의 비밀번호는 무엇입니까?

오일러 프로젝트 79 더보기