Done puzzle 64
[project-euler.git] / euler57.ipynb
1 {
2 "cells": [
3 {
4 "cell_type": "markdown",
5 "metadata": {},
6 "source": [
7 "$f(n) = 1 + \\frac{1}{1 + f(n-1)}$\n",
8 "\n",
9 "$f(1) = \\frac{3}{2}$\n",
10 "\n",
11 "$f(2) = 1 + \\frac{1}{1 + f(1)} = 1 + \\frac{1}{1 + \\frac{3}{2}} = 1 + \\frac{1}{\\frac{5}{2}} = 1 + \\frac{2}{5} = \\frac{7}{5}$\n",
12 "\n",
13 "$f(3) = 1 + \\frac{1}{1 + f(2)} = 1 + \\frac{1}{1 + \\frac{7}{5}} = 1 + \\frac{1}{\\frac{12}{5}} = 1 + \\frac{5}{12} = \\frac{17}{12}$\n",
14 "\n",
15 "$f(n) = 1 + \\frac{1}{1 + \\frac{n}{d}} = 1 + \\frac{1}{\\frac{n+d}{d}} = 1 + \\frac{d}{n+d} = \\frac{n+2d}{n+d}$"
16 ]
17 },
18 {
19 "cell_type": "code",
20 "execution_count": 11,
21 "metadata": {},
22 "outputs": [
23 {
24 "data": {
25 "text/plain": [
26 "153"
27 ]
28 },
29 "execution_count": 11,
30 "metadata": {},
31 "output_type": "execute_result"
32 }
33 ],
34 "source": [
35 "count = 0\n",
36 "n, d = 3, 2\n",
37 "(1..1000).each do\n",
38 " # puts \"#{n}, #{d}, #{n.to_s.length > d.to_s.length}\"\n",
39 " count += 1 if n.to_s.length > d.to_s.length\n",
40 " n, d = n + 2 * d, n + d\n",
41 "end\n",
42 "count"
43 ]
44 },
45 {
46 "cell_type": "code",
47 "execution_count": null,
48 "metadata": {
49 "collapsed": true
50 },
51 "outputs": [],
52 "source": []
53 }
54 ],
55 "metadata": {
56 "kernelspec": {
57 "display_name": "Ruby 2.4.0",
58 "language": "ruby",
59 "name": "ruby"
60 },
61 "language_info": {
62 "file_extension": ".rb",
63 "mimetype": "application/x-ruby",
64 "name": "ruby",
65 "version": "2.4.0"
66 }
67 },
68 "nbformat": 4,
69 "nbformat_minor": 2
70 }