Monday, June 15, 2015

Project Euler #65 - e의 수렴

프로젝트 오일러 65번 - convergent of e

e 를 64번 문제와 같은 continued fraction 형태로 표현하면 1,2,1, 1,4,1, 1,6,1, ... 형태로 전개된다. 100까지 전개한 다음 분수로 표현했을 때 분자의 자리수의 합은?

가장 작은 부분부터 차례로 분수를 풀어보면 된다. 이 때 1+1/n 형태를 (n+1)/n 으로 풀거나 뒤집어도 약분되지 않는다. 마음놓고 100번째까지 풀어 보면,

nume,deno=0,1
for k in range(33,0,-1):
    nume,deno=deno,deno+nume
    nume,deno=deno,deno*2*k+nume
    nume,deno=deno,deno+nume
nume = 2*deno+nume
print sum([int(x) for x in str(nume)])


No comments: