{ "metadata": { "name": "", "signature": "sha256:8653c6bc7d9e66d4490e0d6c1d3feee029a05482f71df9caa12ab19a2e001243" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:\n", "\n", "1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...\n", "\n", "By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms." ] }, { "cell_type": "code", "collapsed": false, "input": [ "fib1 = 1\n", "fib2 = 2\n", "fib3 = fib1\n", "\n", "while fib2 < 10:\n", " print fib1\n", " fib3 = fib1\n", " fib2 += fib1\n", " print fib2" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1\n", "3\n", "1\n", "4\n", "1\n", "5\n", "1\n", "6\n", "1\n", "7\n", "1\n", "8\n", "1\n", "9\n", "1\n", "10\n" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "fib1 = 1\n", "fib2 = 2\n", "\n", "while fib2 < 10:\n", " fib2, fib1 = fib2 + fib1, fib2\n", " print fib2" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "3\n", "5\n", "8\n", "13\n" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "def fib_gen(num):\n", " fib1 = 0\n", " fib2 = 1\n", " yield fib1\n", " yield fib2\n", " \n", " while fib2 < num:\n", " fib2, fib1 = fib2 + fib1, fib2\n", " yield fib2" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "[i for i in fib_gen(14)]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "[0, 1, 1, 2, 3, 5, 8, 13, 21]" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "sum([i for i in fib_gen(4000000) if i%2 == 0])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "4613732" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }