일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- backpropagation
- bayesian
- 역전파
- Convolutional Neural Network
- 비샤몬당
- 합성곱 신경망
- CNN
- neural network
- 전처리
- Gram matrix
- Python
- SQL
- 오일러 프로젝트
- mnist
- 소인수분해
- 소수
- Autoencoder
- 오토인코더
- 베이지안
- 딥러닝
- project euler
- 히토요시
- 신경망
- deep learning
- 수달
- 냥코 센세
- c#
- 역전파법
- A Neural Algorithm of Artistic Style
- 자전거 여행
- Today
- Total
통계, IT, AI
오일러 프로젝트의 문제들 가운데에는 소수와 관련된 것들이 많다. 그래서 문제를 계속 풀기 전에 어떤 수가 소수인지 판별하는 코드를 작성하고 넘어가고자 한다. 소수는 1과 자기 자신으로 밖에 나누어 떨어지지 않는 1보다 큰 자연수로 정의된다. 이 정의를 이용하여 어떠한 수가 소수인지 판별하기 위한 룰을 몇가지 생각해 볼 수 있다.1. 2보다 작은 정수와 2를 제외한 짝수는 소수가 아니다. ex) 16: 2로 나누어 떨어지므로 소수가 아니다. 2. 그 수의 제곱근보다 작거나 같은 소수로 나누어 떨어지면 소수가 아니다. ex) 26: 2, 3, 5로만 나누어 떨어지는지 확인하면 된다.. 만약 4로 나누어 떨어진다면 2로도 나누어 떨어질 것이기 때문이다. 문제는 2번 룰에서, 소수를 찾기 위해서 소수를 찾아야 ..
문제에 대한 설명은 이곳에서 확인할 수 있다. 먼저 직관적으로 떠오르는 방식으로 구현하고 이를 ver 1.0이라고 하자. # ver 1.0 a_n2 = 1 a_n1 = 2 answer = a_n1 # since 2 is even while True: a_n = a_n1 + a_n2 if a_n > 4000000: break if a_n % 2 == 0 : answer += a_n a_n1, a_n2 = a_n, a_n1 print answer 문제를 풀고 사람들의 풀이를 보니 더 나은 방법이 있다는 것을 알게 되었다. 이를 소개한다. 먼저 수열의 시작을 1, 1로 바꾸자. 이렇게 바꾸면 매 3번째 수가 짝수가 되어 계산을 줄일 수 있다. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,..
문제에 대한 설명은 이곳에서 확인하자. 이 문제는 굳이 코딩을 거치지 않아도 풀 수 있는 것 처럼 보인다. 그래도 project Euler의 취지에 맞도록 코딩을 하여 문제를 풀어보자. 파이썬 코드는 다음과 같다. answer = sum( [ i for i in range(1,1000) if i % 3 ==0 or i % 5 ==0 ] ) print answer scala 코드는 다음과 같다. object HelloWorld extends App { val x = List.range(1, 1000).filter(x => x % 3 == 0 || x % 5 == 0).sum println(x) } 답은 233168 이다.