일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 빅오 표기법
- matrix-vector product
- 일차변환
- matrix trnasformations
- python
- 이진 탐색
- 코틀린 Hello World!
- 배열 섞기
- homogeneous linear system
- 알고리즘 분석의 실례
- recursive algorithms
- Big Theta
- NumPy
- nontrivial solution
- Big-O 예제
- Big Omega
- one-to-one
- 재귀함수
- 빅세타
- Big-Oh notation
- nonhomogeneous linear system
- linear dependence
- Big-Oh 예제
- solutions of matrix equation
- 랜덤 순서 배열
- 코틀린 시작하기
- 빅오메가
- matrix fo a linear transformation
- itertools
- trivial solution
- Today
- Total
코딩 연습
프로젝트 오일러 129번 본문
A number consisting entirely of ones is called a repunit. We shall define \(R(k)\) to be a repunit of length \(k\); for example \(R(6)=111111\).
Given that \(n\) is positive integer and \({\rm GCD}(n, \;10) =1\), it cane be shown that there always exists a value, \(k\), for which \(R(k)\) is divisible by \(n\), and let \(A(n)\) be the least such value of \(k\); for example, \(A(7)=6\) and \(A(41)=5\).
The least value of \(n\) for which \(A(n)\) first exceeds ten is \(17\).
Find the least value of \(n\) for which \(A(n)\) first exceeds one-million.
숫자 \(1\) 로만 만들어진 자연수를 repunit 이라 부르고, \(R(k)\) 는 \(1\) 이 \(k\) 개 나열된 자연수라고 하자. 예를 들어, \(R(6)=111111\) 이 된다.
또한 \(10\) 과의 최대공약수가 \(1\) 인 어떤 수 \(n\) 이 있을 때, \(R(k)\) 가 \(n\) 으로 나누어 떨어지는 \(k\) 가 항상 존재한다는 사실이 알려져 있다. 이 사실로 부터 \(A(n)\) 을 \(R(k)\) 가 \(n\) 으로 나누어 떨어지는 자연수 \(k\) 의 최솟값으로 정의할 수 있다. 예를 들어, \(A(7)=6\) 이고, \(A(41)=5\) 이다.
이런식으로 자연수 \(n\) 에 대하여 \(A(n)\) 을 구해나가보면 \(A(n)\) 이 \(10\) 을 넘어가게 되는 최소의 자연수 \(n\) 은 \(17\) 임을 알 수 있다.
\(A(n)\)이 \(10^6\) 을 넘어가게 되는 최소의 자연수 \(n\) 을 구하시오.
이 문제를 풀기 위해서는 두 가지를 알고 있어야 한다. 글로 풀어 쓰기가 귀찮아서 그냥 동영상으로 만들었다.
'project euler with python' 카테고리의 다른 글
프로젝트 오일러 131번 (0) | 2016.03.15 |
---|---|
프로젝트 오일러 130번 (0) | 2016.03.15 |
프로젝트 오일러 128번 (0) | 2016.03.15 |
프로젝트 오일러 127번 (0) | 2016.03.15 |
프로젝트 오일러 126번 (0) | 2016.03.15 |