{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Collatz Conjecture\n", "\n", "I was reminded of the [Collatz Conjecture](https://automatetheboringstuff.com/chapter3/\n", ") while studying python for my data science fundamentals course.\n", "\n", "Here is the basic principle. \n", "\n", "Take any positive integer, n. If n is even, divide it by 2 (n/2). If n is odd, multiply it by 3 and add 1 (3n + 1). Repeat the process on the result (which has been called _“Half Or Triple Plus One”_, or HOTPO) indefinitely. \n", "\n", "The **Collatz Conjecture** is that _no matter what positive integer you begin with the result will eventually reach 1_.\n", "\n", "If this seems counter-intuitive it is not just you. If we are tripling and adding one to the result half the time and cutting the result in half the other half of the time, you would think the number would grow very large eventually.\n", "\n", "A while back [I wrote about this](https://sprestridge.net/excel/math/2016/08/10/Collatz-Conjecture.html) and developed an Excel spreadsheet with some VBA code to test a user input and store and graph the results. Turns out this is an interesting python excercise." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Enter number: 120021\n", "your list of collatz integers is: \n", "[120021, 360064, 180032, 90016, 45008, 22504, 11252, 5626, 2813, 8440, 4220, 2110, 1055, 3166, 1583, 4750, 2375, 7126, 3563, 10690, 5345, 16036, 8018, 4009, 12028, 6014, 3007, 9022, 4511, 13534, 6767, 20302, 10151, 30454, 15227, 45682, 22841, 68524, 34262, 17131, 51394, 25697, 77092, 38546, 19273, 57820, 28910, 14455, 43366, 21683, 65050, 32525, 97576, 48788, 24394, 12197, 36592, 18296, 9148, 4574, 2287, 6862, 3431, 10294, 5147, 15442, 7721, 23164, 11582, 5791, 17374, 8687, 26062, 13031, 39094, 19547, 58642, 29321, 87964, 43982, 21991, 65974, 32987, 98962, 49481, 148444, 74222, 37111, 111334, 55667, 167002, 83501, 250504, 125252, 62626, 31313, 93940, 46970, 23485, 70456, 35228, 17614, 8807, 26422, 13211, 39634, 19817, 59452, 29726, 14863, 44590, 22295, 66886, 33443, 100330, 50165, 150496, 75248, 37624, 18812, 9406, 4703, 14110, 7055, 21166, 10583, 31750, 15875, 47626, 23813, 71440, 35720, 17860, 8930, 4465, 13396, 6698, 3349, 10048, 5024, 2512, 1256, 628, 314, 157, 472, 236, 118, 59, 178, 89, 268, 134, 67, 202, 101, 304, 152, 76, 38, 19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2]\n", "\n", "steps to reach 1: \n", "180\n", "\n", "max number: \n", "360064\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# collatz.py\n", "# define a function that is the collatz conjecture - any positive integer will eventually reach 1\n", "# n is even: n/2\n", "# n is odd: 3n + 1\n", "# HOTPO - half or triple plus one indefinitely\n", "def collatz(number):\n", " if number % 2 == 0:\n", "# print(number // 2)\n", " return number // 2\n", "\n", " elif number % 2 == 1:\n", " result = 3 * number + 1\n", "# print(result)\n", " return result\n", "\n", "import pandas as pd\n", "\n", "# setup for plotting\n", "from matplotlib import pyplot as plt\n", "import seaborn as sns\n", "plt.style.use('fivethirtyeight')\n", "%matplotlib inline\n", "\n", "collatz_list = []\n", "pd.set_option('display.float_format', '{:,}'.format)\n", "\n", "# prompt user\n", "try:\n", " n = input(\"Enter number: \")\n", " seed = n\n", " while n != 1:\n", " collatz_list.append(int(n))\n", " n = collatz(int(n))\n", " print('your list of collatz integers is: ');\n", " print(collatz_list);\n", " print();\n", " print('steps to reach 1: ');\n", " print(len(collatz_list)); \n", " print();\n", " print('max number: ')\n", " print(max(collatz_list));\n", " df_collatz = pd.DataFrame(collatz_list)\n", " plt.plot(df_collatz)\n", " plt.title('Collatz Conjecture for ' + str(seed) + ' | Graph of Ingtegers', y=1.01)\n", " plt.xlabel('Index')\n", " plt.ylabel('Integer')\n", " \n", "except ValueError:\n", " print('whoops, type an integer next time, neo.')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# run the code below to save the graph to file\n", "plt.plot(df_collatz)\n", "plt.title('Collatz Conjecture for ' + str(seed) + ' | Graph of Ingtegers', y=1.01)\n", "plt.xlabel('Index')\n", "plt.ylabel('Integer')\n", "\n", "plt.savefig('collatz_conjecture.png');" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 2 }