{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Calculate Prime Numbers\n", "\n", "### Authors: \n", "- Christian Michelsen (Niels Bohr Institute)\n", "- Troels C. Petersen (Niels Bohr Institute)\n", "\n", "### Date: \n", "- 24-09-2018 (latest update)\n", "- 06-10-2015 (originally)\n", "\n", "***\n", "Script calculating all prime numbers up to 10000.\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we import the packages we need:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we define maxmimum prime number we want to calculate and the starting value:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "lines_to_next_cell": 2 }, "outputs": [], "source": [ "Nmax = 10000 # Maximum prime number\n", "N = 2 # Starting value" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculating prime numbers comes down to taking a number (here `N`), and testing if it is prime by dividing it by all numbers up the the square root of it. If no number divides `N` (tested using the `%` operator, which returns the remainder: `6%3 = 0`, `5%2 = 1`, etc.), then `N` is prime!\n", "***\n", "See if you can follow this in python program form below. There are only 9 lines in total! The central part consists of a While-loop, which loops as long as the statement is true. It is true to begin with (`N=2`, `Nmax = 10000`), but at some point `N` will have increased enough to equal `Nmax`, and the looping stops.\n", "***\n", "We start by creating empty list for primes. We dont create a numpy array since we don't know the size of it before creation:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "I got a prime 2\n", "I got a prime 3\n", "I got a prime 5\n", "I got a prime 7\n", "I got a prime 11\n", "I got a prime 13\n", "I got a prime 17\n", "I got a prime 19\n", "I got a prime 23\n", "I got a prime 29\n", "I got a prime 31\n", "I got a prime 37\n", "I got a prime 41\n", "I got a prime 43\n", "I got a prime 47\n", "I got a prime 53\n", "I got a prime 59\n", "I got a prime 61\n", "I got a prime 67\n", "I got a prime 71\n", "I got a prime 73\n", "I got a prime 79\n", "I got a prime 83\n", "I got a prime 89\n", "I got a prime 97\n", "I got a prime 101\n", "I got a prime 103\n", "I got a prime 107\n", "I got a prime 109\n", "I got a prime 113\n", "I got a prime 127\n", "I got a prime 131\n", "I got a prime 137\n", "I got a prime 139\n", "I got a prime 149\n", "I got a prime 151\n", "I got a prime 157\n", "I got a prime 163\n", "I got a prime 167\n", "I got a prime 173\n", "I got a prime 179\n", "I got a prime 181\n", "I got a prime 191\n", "I got a prime 193\n", "I got a prime 197\n", "I got a prime 199\n", "I got a prime 211\n", "I got a prime 223\n", "I got a prime 227\n", "I got a prime 229\n", "I got a prime 233\n", "I got a prime 239\n", "I got a prime 241\n", "I got a prime 251\n", "I got a prime 257\n", "I got a prime 263\n", "I got a prime 269\n", "I got a prime 271\n", "I got a prime 277\n", "I got a prime 281\n", "I got a prime 283\n", "I got a prime 293\n", "I got a prime 307\n", "I got a prime 311\n", "I got a prime 313\n", "I got a prime 317\n", "I got a prime 331\n", "I got a prime 337\n", "I got a prime 347\n", "I got a prime 349\n", "I got a prime 353\n", "I got a prime 359\n", "I got a prime 367\n", "I got a prime 373\n", "I got a prime 379\n", "I got a prime 383\n", "I got a prime 389\n", "I got a prime 397\n", "I got a prime 401\n", "I got a prime 409\n", "I got a prime 419\n", "I got a prime 421\n", "I got a prime 431\n", "I got a prime 433\n", "I got a prime 439\n", "I got a prime 443\n", "I got a prime 449\n", "I got a prime 457\n", "I got a prime 461\n", "I got a prime 463\n", "I got a prime 467\n", "I got a prime 479\n", "I got a prime 487\n", "I got a prime 491\n", "I got a prime 499\n", "I got a prime 503\n", "I got a prime 509\n", "I got a prime 521\n", "I got a prime 523\n", "I got a prime 541\n", "I got a prime 547\n", "I got a prime 557\n", "I got a prime 563\n", "I got a prime 569\n", "I got a prime 571\n", "I got a prime 577\n", "I got a prime 587\n", "I got a prime 593\n", "I got a prime 599\n", "I got a prime 601\n", "I got a prime 607\n", "I got a prime 613\n", "I got a prime 617\n", "I got a prime 619\n", "I got a prime 631\n", "I got a prime 641\n", "I got a prime 643\n", "I got a prime 647\n", "I got a prime 653\n", "I got a prime 659\n", "I got a prime 661\n", "I got a prime 673\n", "I got a prime 677\n", "I got a prime 683\n", "I got a prime 691\n", "I got a prime 701\n", "I got a prime 709\n", "I got a prime 719\n", "I got a prime 727\n", "I got a prime 733\n", "I got a prime 739\n", "I got a prime 743\n", "I got a prime 751\n", "I got a prime 757\n", "I got a prime 761\n", "I got a prime 769\n", "I got a prime 773\n", "I got a prime 787\n", "I got a prime 797\n", "I got a prime 809\n", "I got a prime 811\n", "I got a prime 821\n", "I got a prime 823\n", "I got a prime 827\n", "I got a prime 829\n", "I got a prime 839\n", "I got a prime 853\n", "I got a prime 857\n", "I got a prime 859\n", "I got a prime 863\n", "I got a prime 877\n", "I got a prime 881\n", "I got a prime 883\n", "I got a prime 887\n", "I got a prime 907\n", "I got a prime 911\n", "I got a prime 919\n", "I got a prime 929\n", "I got a prime 937\n", "I got a prime 941\n", "I got a prime 947\n", "I got a prime 953\n", "I got a prime 967\n", "I got a prime 971\n", "I got a prime 977\n", "I got a prime 983\n", "I got a prime 991\n", "I got a prime 997\n", "I got a prime 1009\n", "I got a prime 1013\n", "I got a prime 1019\n", "I got a prime 1021\n", "I got a prime 1031\n", "I got a prime 1033\n", "I got a prime 1039\n", "I got a prime 1049\n", "I got a prime 1051\n", "I got a prime 1061\n", "I got a prime 1063\n", "I got a prime 1069\n", "I got a prime 1087\n", "I got a prime 1091\n", "I got a prime 1093\n", "I got a prime 1097\n", "I got a prime 1103\n", "I got a prime 1109\n", "I got a prime 1117\n", "I got a prime 1123\n", "I got a prime 1129\n", "I got a prime 1151\n", "I got a prime 1153\n", "I got a prime 1163\n", "I got a prime 1171\n", "I got a prime 1181\n", "I got a prime 1187\n", "I got a prime 1193\n", "I got a prime 1201\n", "I got a prime 1213\n", "I got a prime 1217\n", "I got a prime 1223\n", "I got a prime 1229\n", "I got a prime 1231\n", "I got a prime 1237\n", "I got a prime 1249\n", "I got a prime 1259\n", "I got a prime 1277\n", "I got a prime 1279\n", "I got a prime 1283\n", "I got a prime 1289\n", "I got a prime 1291\n", "I got a prime 1297\n", "I got a prime 1301\n", "I got a prime 1303\n", "I got a prime 1307\n", "I got a prime 1319\n", "I got a prime 1321\n", "I got a prime 1327\n", "I got a prime 1361\n", "I got a prime 1367\n", "I got a prime 1373\n", "I got a prime 1381\n", "I got a prime 1399\n", "I got a prime 1409\n", "I got a prime 1423\n", "I got a prime 1427\n", "I got a prime 1429\n", "I got a prime 1433\n", "I got a prime 1439\n", "I got a prime 1447\n", "I got a prime 1451\n", "I got a prime 1453\n", "I got a prime 1459\n", "I got a prime 1471\n", "I got a prime 1481\n", "I got a prime 1483\n", "I got a prime 1487\n", "I got a prime 1489\n", "I got a prime 1493\n", "I got a prime 1499\n", "I got a prime 1511\n", "I got a prime 1523\n", "I got a prime 1531\n", "I got a prime 1543\n", "I got a prime 1549\n", "I got a prime 1553\n", "I got a prime 1559\n", "I got a prime 1567\n", "I got a prime 1571\n", "I got a prime 1579\n", "I got a prime 1583\n", "I got a prime 1597\n", "I got a prime 1601\n", "I got a prime 1607\n", "I got a prime 1609\n", "I got a prime 1613\n", "I got a prime 1619\n", "I got a prime 1621\n", "I got a prime 1627\n", "I got a prime 1637\n", "I got a prime 1657\n", "I got a prime 1663\n", "I got a prime 1667\n", "I got a prime 1669\n", "I got a prime 1693\n", "I got a prime 1697\n", "I got a prime 1699\n", "I got a prime 1709\n", "I got a prime 1721\n", "I got a prime 1723\n", "I got a prime 1733\n", "I got a prime 1741\n", "I got a prime 1747\n", "I got a prime 1753\n", "I got a prime 1759\n", "I got a prime 1777\n", "I got a prime 1783\n", "I got a prime 1787\n", "I got a prime 1789\n", "I got a prime 1801\n", "I got a prime 1811\n", "I got a prime 1823\n", "I got a prime 1831\n", "I got a prime 1847\n", "I got a prime 1861\n", "I got a prime 1867\n", "I got a prime 1871\n", "I got a prime 1873\n", "I got a prime 1877\n", "I got a prime 1879\n", "I got a prime 1889\n", "I got a prime 1901\n", "I got a prime 1907\n", "I got a prime 1913\n", "I got a prime 1931\n", "I got a prime 1933\n", "I got a prime 1949\n", "I got a prime 1951\n", "I got a prime 1973\n", "I got a prime 1979\n", "I got a prime 1987\n", "I got a prime 1993\n", "I got a prime 1997\n", "I got a prime 1999\n", "I got a prime 2003\n", "I got a prime 2011\n", "I got a prime 2017\n", "I got a prime 2027\n", "I got a prime 2029\n", "I got a prime 2039\n", "I got a prime 2053\n", "I got a prime 2063\n", "I got a prime 2069\n", "I got a prime 2081\n", "I got a prime 2083\n", "I got a prime 2087\n", "I got a prime 2089\n", "I got a prime 2099\n", "I got a prime 2111\n", "I got a prime 2113\n", "I got a prime 2129\n", "I got a prime 2131\n", "I got a prime 2137\n", "I got a prime 2141\n", "I got a prime 2143\n", "I got a prime 2153\n", "I got a prime 2161\n", "I got a prime 2179\n", "I got a prime 2203\n", "I got a prime 2207\n", "I got a prime 2213\n", "I got a prime 2221\n", "I got a prime 2237\n", "I got a prime 2239\n", "I got a prime 2243\n", "I got a prime 2251\n", "I got a prime 2267\n", "I got a prime 2269\n", "I got a prime 2273\n", "I got a prime 2281\n", "I got a prime 2287\n", "I got a prime 2293\n", "I got a prime 2297\n", "I got a prime 2309\n", "I got a prime 2311\n", "I got a prime 2333\n", "I got a prime 2339\n", "I got a prime 2341\n", "I got a prime 2347\n", "I got a prime 2351\n", "I got a prime 2357\n", "I got a prime 2371\n", "I got a prime 2377\n", "I got a prime 2381\n", "I got a prime 2383\n", "I got a prime 2389\n", "I got a prime 2393\n", "I got a prime 2399\n", "I got a prime 2411\n", "I got a prime 2417\n", "I got a prime 2423\n", "I got a prime 2437\n", "I got a prime 2441\n", "I got a prime 2447\n", "I got a prime 2459\n", "I got a prime 2467\n", "I got a prime 2473\n", "I got a prime 2477\n", "I got a prime 2503\n", "I got a prime 2521\n", "I got a prime 2531\n", "I got a prime 2539\n", "I got a prime 2543\n", "I got a prime 2549\n", "I got a prime 2551\n", "I got a prime 2557\n", "I got a prime 2579\n", "I got a prime 2591\n", "I got a prime 2593\n", "I got a prime 2609\n", "I got a prime 2617\n", "I got a prime 2621\n", "I got a prime 2633\n", "I got a prime 2647\n", "I got a prime 2657\n", "I got a prime 2659\n", "I got a prime 2663\n", "I got a prime 2671\n", "I got a prime 2677\n", "I got a prime 2683\n", "I got a prime 2687\n", "I got a prime 2689\n", "I got a prime 2693\n", "I got a prime 2699\n", "I got a prime 2707\n", "I got a prime 2711\n", "I got a prime 2713\n", "I got a prime 2719\n", "I got a prime 2729\n", "I got a prime 2731\n", "I got a prime 2741\n", "I got a prime 2749\n", "I got a prime 2753\n", "I got a prime 2767\n", "I got a prime 2777\n", "I got a prime 2789\n", "I got a prime 2791\n", "I got a prime 2797\n", "I got a prime 2801\n", "I got a prime 2803\n", "I got a prime 2819\n", "I got a prime 2833\n", "I got a prime 2837\n", "I got a prime 2843\n", "I got a prime 2851\n", "I got a prime 2857\n", "I got a prime 2861\n", "I got a prime 2879\n", "I got a prime 2887\n", "I got a prime 2897\n", "I got a prime 2903\n", "I got a prime 2909\n", "I got a prime 2917\n", "I got a prime 2927\n", "I got a prime 2939\n", "I got a prime 2953\n", "I got a prime 2957\n", "I got a prime 2963\n", "I got a prime 2969\n", "I got a prime 2971\n", "I got a prime 2999\n", "I got a prime 3001\n", "I got a prime 3011\n", "I got a prime 3019\n", "I got a prime 3023\n", "I got a prime 3037\n", "I got a prime 3041\n", "I got a prime 3049\n", "I got a prime 3061\n", "I got a prime 3067\n", "I got a prime 3079\n", "I got a prime 3083\n", "I got a prime 3089\n", "I got a prime 3109\n", "I got a prime 3119\n", "I got a prime 3121\n", "I got a prime 3137\n", "I got a prime 3163\n", "I got a prime 3167\n", "I got a prime 3169\n", "I got a prime 3181\n", "I got a prime 3187\n", "I got a prime 3191\n", "I got a prime 3203\n", "I got a prime 3209\n", "I got a prime 3217\n", "I got a prime 3221\n", "I got a prime 3229\n", "I got a prime 3251\n", "I got a prime 3253\n", "I got a prime 3257\n", "I got a prime 3259\n", "I got a prime 3271\n", "I got a prime 3299\n", "I got a prime 3301\n", "I got a prime 3307\n", "I got a prime 3313\n", "I got a prime 3319\n", "I got a prime 3323\n", "I got a prime 3329\n", "I got a prime 3331\n", "I got a prime 3343\n", "I got a prime 3347\n", "I got a prime 3359\n", "I got a prime 3361\n", "I got a prime 3371\n", "I got a prime 3373\n", "I got a prime 3389\n", "I got a prime 3391\n", "I got a prime 3407\n", "I got a prime 3413\n", "I got a prime 3433\n", "I got a prime 3449\n", "I got a prime 3457\n", "I got a prime 3461\n", "I got a prime 3463\n", "I got a prime 3467\n", "I got a prime 3469\n", "I got a prime 3491\n", "I got a prime 3499\n", "I got a prime 3511\n", "I got a prime 3517\n", "I got a prime 3527\n", "I got a prime 3529\n", "I got a prime 3533\n", "I got a prime 3539\n", "I got a prime 3541\n", "I got a prime 3547\n", "I got a prime 3557\n", "I got a prime 3559\n", "I got a prime 3571\n", "I got a prime 3581\n", "I got a prime 3583\n", "I got a prime 3593\n", "I got a prime 3607\n", "I got a prime 3613\n", "I got a prime 3617\n", "I got a prime 3623\n", "I got a prime 3631\n", "I got a prime 3637\n", "I got a prime 3643\n", "I got a prime 3659\n", "I got a prime 3671\n", "I got a prime 3673\n", "I got a prime 3677\n", "I got a prime 3691\n", "I got a prime 3697\n", "I got a prime 3701\n", "I got a prime 3709\n", "I got a prime 3719\n", "I got a prime 3727\n", "I got a prime 3733\n", "I got a prime 3739\n", "I got a prime 3761\n", "I got a prime 3767\n", "I got a prime 3769\n", "I got a prime 3779\n", "I got a prime 3793\n", "I got a prime 3797\n", "I got a prime 3803\n", "I got a prime 3821\n", "I got a prime 3823\n", "I got a prime 3833\n", "I got a prime 3847\n", "I got a prime 3851\n", "I got a prime 3853\n", "I got a prime 3863\n", "I got a prime 3877\n", "I got a prime 3881\n", "I got a prime 3889\n", "I got a prime 3907\n", "I got a prime 3911\n", "I got a prime 3917\n", "I got a prime 3919\n", "I got a prime 3923\n", "I got a prime 3929\n", "I got a prime 3931\n", "I got a prime 3943\n", "I got a prime 3947\n", "I got a prime 3967\n", "I got a prime 3989\n", "I got a prime 4001\n", "I got a prime 4003\n", "I got a prime 4007\n", "I got a prime 4013\n", "I got a prime 4019\n", "I got a prime 4021\n", "I got a prime 4027\n", "I got a prime 4049\n", "I got a prime 4051\n", "I got a prime 4057\n", "I got a prime 4073\n", "I got a prime 4079\n", "I got a prime 4091\n", "I got a prime 4093\n", "I got a prime 4099\n", "I got a prime 4111\n", "I got a prime 4127\n", "I got a prime 4129\n", "I got a prime 4133\n", "I got a prime 4139\n", "I got a prime 4153\n", "I got a prime 4157\n", "I got a prime 4159\n", "I got a prime 4177\n", "I got a prime 4201\n", "I got a prime 4211\n", "I got a prime 4217\n", "I got a prime 4219\n", "I got a prime 4229\n", "I got a prime 4231\n", "I got a prime 4241\n", "I got a prime 4243\n", "I got a prime 4253\n", "I got a prime 4259\n", "I got a prime 4261\n", "I got a prime 4271\n", "I got a prime 4273\n", "I got a prime 4283\n", "I got a prime 4289\n", "I got a prime 4297\n", "I got a prime 4327\n", "I got a prime 4337\n", "I got a prime 4339\n", "I got a prime 4349\n", "I got a prime 4357\n", "I got a prime 4363\n", "I got a prime 4373\n", "I got a prime 4391\n", "I got a prime 4397\n", "I got a prime 4409\n", "I got a prime 4421\n", "I got a prime 4423\n", "I got a prime 4441\n", "I got a prime 4447\n", "I got a prime 4451\n", "I got a prime 4457\n", "I got a prime 4463\n", "I got a prime 4481\n", "I got a prime 4483\n", "I got a prime 4493\n", "I got a prime 4507\n", "I got a prime 4513\n", "I got a prime 4517\n", "I got a prime 4519\n", "I got a prime 4523\n", "I got a prime 4547\n", "I got a prime 4549\n", "I got a prime 4561\n", "I got a prime 4567\n", "I got a prime 4583\n", "I got a prime 4591\n", "I got a prime 4597\n", "I got a prime 4603\n", "I got a prime 4621\n", "I got a prime 4637\n", "I got a prime 4639\n", "I got a prime 4643\n", "I got a prime 4649\n", "I got a prime 4651\n", "I got a prime 4657\n", "I got a prime 4663\n", "I got a prime 4673\n", "I got a prime 4679\n", "I got a prime 4691\n", "I got a prime 4703\n", "I got a prime 4721\n", "I got a prime 4723\n", "I got a prime 4729\n", "I got a prime 4733\n", "I got a prime 4751\n", "I got a prime 4759\n", "I got a prime 4783\n", "I got a prime 4787\n", "I got a prime 4789\n", "I got a prime 4793\n", "I got a prime 4799\n", "I got a prime 4801\n", "I got a prime 4813\n", "I got a prime 4817\n", "I got a prime 4831\n", "I got a prime 4861\n", "I got a prime 4871\n", "I got a prime 4877\n", "I got a prime 4889\n", "I got a prime 4903\n", "I got a prime 4909\n", "I got a prime 4919\n", "I got a prime 4931\n", "I got a prime 4933\n", "I got a prime 4937\n", "I got a prime 4943\n", "I got a prime 4951\n", "I got a prime 4957\n", "I got a prime 4967\n", "I got a prime 4969\n", "I got a prime 4973\n", "I got a prime 4987\n", "I got a prime 4993\n", "I got a prime 4999\n", "I got a prime 5003\n", "I got a prime 5009\n", "I got a prime 5011\n", "I got a prime 5021\n", "I got a prime 5023\n", "I got a prime 5039\n", "I got a prime 5051\n", "I got a prime 5059\n", "I got a prime 5077\n", "I got a prime 5081\n", "I got a prime 5087\n", "I got a prime 5099\n", "I got a prime 5101\n", "I got a prime 5107\n", "I got a prime 5113\n", "I got a prime 5119\n", "I got a prime 5147\n", "I got a prime 5153\n", "I got a prime 5167\n", "I got a prime 5171\n", "I got a prime 5179\n", "I got a prime 5189\n", "I got a prime 5197\n", "I got a prime 5209\n", "I got a prime 5227\n", "I got a prime 5231\n", "I got a prime 5233\n", "I got a prime 5237\n", "I got a prime 5261\n", "I got a prime 5273\n", "I got a prime 5279\n", "I got a prime 5281\n", "I got a prime 5297\n", "I got a prime 5303\n", "I got a prime 5309\n", "I got a prime 5323\n", "I got a prime 5333\n", "I got a prime 5347\n", "I got a prime 5351\n", "I got a prime 5381\n", "I got a prime 5387\n", "I got a prime 5393\n", "I got a prime 5399\n", "I got a prime 5407\n", "I got a prime 5413\n", "I got a prime 5417\n", "I got a prime 5419\n", "I got a prime 5431\n", "I got a prime 5437\n", "I got a prime 5441\n", "I got a prime 5443\n", "I got a prime 5449\n", "I got a prime 5471\n", "I got a prime 5477\n", "I got a prime 5479\n", "I got a prime 5483\n", "I got a prime 5501\n", "I got a prime 5503\n", "I got a prime 5507\n", "I got a prime 5519\n", "I got a prime 5521\n", "I got a prime 5527\n", "I got a prime 5531\n", "I got a prime 5557\n", "I got a prime 5563\n", "I got a prime 5569\n", "I got a prime 5573\n", "I got a prime 5581\n", "I got a prime 5591\n", "I got a prime 5623\n", "I got a prime 5639\n", "I got a prime 5641\n", "I got a prime 5647\n", "I got a prime 5651\n", "I got a prime 5653\n", "I got a prime 5657\n", "I got a prime 5659\n", "I got a prime 5669\n", "I got a prime 5683\n", "I got a prime 5689\n", "I got a prime 5693\n", "I got a prime 5701\n", "I got a prime 5711\n", "I got a prime 5717\n", "I got a prime 5737\n", "I got a prime 5741\n", "I got a prime 5743\n", "I got a prime 5749\n", "I got a prime 5779\n", "I got a prime 5783\n", "I got a prime 5791\n", "I got a prime 5801\n", "I got a prime 5807\n", "I got a prime 5813\n", "I got a prime 5821\n", "I got a prime 5827\n", "I got a prime 5839\n", "I got a prime 5843\n", "I got a prime 5849\n", "I got a prime 5851\n", "I got a prime 5857\n", "I got a prime 5861\n", "I got a prime 5867\n", "I got a prime 5869\n", "I got a prime 5879\n", "I got a prime 5881\n", "I got a prime 5897\n", "I got a prime 5903\n", "I got a prime 5923\n", "I got a prime 5927\n", "I got a prime 5939\n", "I got a prime 5953\n", "I got a prime 5981\n", "I got a prime 5987\n", "I got a prime 6007\n", "I got a prime 6011\n", "I got a prime 6029\n", "I got a prime 6037\n", "I got a prime 6043\n", "I got a prime 6047\n", "I got a prime 6053\n", "I got a prime 6067\n", "I got a prime 6073\n", "I got a prime 6079\n", "I got a prime 6089\n", "I got a prime 6091\n", "I got a prime 6101\n", "I got a prime 6113\n", "I got a prime 6121\n", "I got a prime 6131\n", "I got a prime 6133\n", "I got a prime 6143\n", "I got a prime 6151\n", "I got a prime 6163\n", "I got a prime 6173\n", "I got a prime 6197\n", "I got a prime 6199\n", "I got a prime 6203\n", "I got a prime 6211\n", "I got a prime 6217\n", "I got a prime 6221\n", "I got a prime 6229\n", "I got a prime 6247\n", "I got a prime 6257\n", "I got a prime 6263\n", "I got a prime 6269\n", "I got a prime 6271\n", "I got a prime 6277\n", "I got a prime 6287\n", "I got a prime 6299\n", "I got a prime 6301\n", "I got a prime 6311\n", "I got a prime 6317\n", "I got a prime 6323\n", "I got a prime 6329\n", "I got a prime 6337\n", "I got a prime 6343\n", "I got a prime 6353\n", "I got a prime 6359\n", "I got a prime 6361\n", "I got a prime 6367\n", "I got a prime 6373\n", "I got a prime 6379\n", "I got a prime 6389\n", "I got a prime 6397\n", "I got a prime 6421\n", "I got a prime 6427\n", "I got a prime 6449\n", "I got a prime 6451\n", "I got a prime 6469\n", "I got a prime 6473\n", "I got a prime 6481\n", "I got a prime 6491\n", "I got a prime 6521\n", "I got a prime 6529\n", "I got a prime 6547\n", "I got a prime 6551\n", "I got a prime 6553\n", "I got a prime 6563\n", "I got a prime 6569\n", "I got a prime 6571\n", "I got a prime 6577\n", "I got a prime 6581\n", "I got a prime 6599\n", "I got a prime 6607\n", "I got a prime 6619\n", "I got a prime 6637\n", "I got a prime 6653\n", "I got a prime 6659\n", "I got a prime 6661\n", "I got a prime 6673\n", "I got a prime 6679\n", "I got a prime 6689\n", "I got a prime 6691\n", "I got a prime 6701\n", "I got a prime 6703\n", "I got a prime 6709\n", "I got a prime 6719\n", "I got a prime 6733\n", "I got a prime 6737\n", "I got a prime 6761\n", "I got a prime 6763\n", "I got a prime 6779\n", "I got a prime 6781\n", "I got a prime 6791\n", "I got a prime 6793\n", "I got a prime 6803\n", "I got a prime 6823\n", "I got a prime 6827\n", "I got a prime 6829\n", "I got a prime 6833\n", "I got a prime 6841\n", "I got a prime 6857\n", "I got a prime 6863\n", "I got a prime 6869\n", "I got a prime 6871\n", "I got a prime 6883\n", "I got a prime 6899\n", "I got a prime 6907\n", "I got a prime 6911\n", "I got a prime 6917\n", "I got a prime 6947\n", "I got a prime 6949\n", "I got a prime 6959\n", "I got a prime 6961\n", "I got a prime 6967\n", "I got a prime 6971\n", "I got a prime 6977\n", "I got a prime 6983\n", "I got a prime 6991\n", "I got a prime 6997\n", "I got a prime 7001\n", "I got a prime 7013\n", "I got a prime 7019\n", "I got a prime 7027\n", "I got a prime 7039\n", "I got a prime 7043\n", "I got a prime 7057\n", "I got a prime 7069\n", "I got a prime 7079\n", "I got a prime 7103\n", "I got a prime 7109\n", "I got a prime 7121\n", "I got a prime 7127\n", "I got a prime 7129\n", "I got a prime 7151\n", "I got a prime 7159\n", "I got a prime 7177\n", "I got a prime 7187\n", "I got a prime 7193\n", "I got a prime 7207\n", "I got a prime 7211\n", "I got a prime 7213\n", "I got a prime 7219\n", "I got a prime 7229\n", "I got a prime 7237\n", "I got a prime 7243\n", "I got a prime 7247\n", "I got a prime 7253\n", "I got a prime 7283\n", "I got a prime 7297\n", "I got a prime 7307\n", "I got a prime 7309\n", "I got a prime 7321\n", "I got a prime 7331\n", "I got a prime 7333\n", "I got a prime 7349\n", "I got a prime 7351\n", "I got a prime 7369\n", "I got a prime 7393\n", "I got a prime 7411\n", "I got a prime 7417\n", "I got a prime 7433\n", "I got a prime 7451\n", "I got a prime 7457\n", "I got a prime 7459\n", "I got a prime 7477\n", "I got a prime 7481\n", "I got a prime 7487\n", "I got a prime 7489\n", "I got a prime 7499\n", "I got a prime 7507\n", "I got a prime 7517\n", "I got a prime 7523\n", "I got a prime 7529\n", "I got a prime 7537\n", "I got a prime 7541\n", "I got a prime 7547\n", "I got a prime 7549\n", "I got a prime 7559\n", "I got a prime 7561\n", "I got a prime 7573\n", "I got a prime 7577\n", "I got a prime 7583\n", "I got a prime 7589\n", "I got a prime 7591\n", "I got a prime 7603\n", "I got a prime 7607\n", "I got a prime 7621\n", "I got a prime 7639\n", "I got a prime 7643\n", "I got a prime 7649\n", "I got a prime 7669\n", "I got a prime 7673\n", "I got a prime 7681\n", "I got a prime 7687\n", "I got a prime 7691\n", "I got a prime 7699\n", "I got a prime 7703\n", "I got a prime 7717\n", "I got a prime 7723\n", "I got a prime 7727\n", "I got a prime 7741\n", "I got a prime 7753\n", "I got a prime 7757\n", "I got a prime 7759\n", "I got a prime 7789\n", "I got a prime 7793\n", "I got a prime 7817\n", "I got a prime 7823\n", "I got a prime 7829\n", "I got a prime 7841\n", "I got a prime 7853\n", "I got a prime 7867\n", "I got a prime 7873\n", "I got a prime 7877\n", "I got a prime 7879\n", "I got a prime 7883\n", "I got a prime 7901\n", "I got a prime 7907\n", "I got a prime 7919\n", "I got a prime 7927\n", "I got a prime 7933\n", "I got a prime 7937\n", "I got a prime 7949\n", "I got a prime 7951\n", "I got a prime 7963\n", "I got a prime 7993\n", "I got a prime 8009\n", "I got a prime 8011\n", "I got a prime 8017\n", "I got a prime 8039\n", "I got a prime 8053\n", "I got a prime 8059\n", "I got a prime 8069\n", "I got a prime 8081\n", "I got a prime 8087\n", "I got a prime 8089\n", "I got a prime 8093\n", "I got a prime 8101\n", "I got a prime 8111\n", "I got a prime 8117\n", "I got a prime 8123\n", "I got a prime 8147\n", "I got a prime 8161\n", "I got a prime 8167\n", "I got a prime 8171\n", "I got a prime 8179\n", "I got a prime 8191\n", "I got a prime 8209\n", "I got a prime 8219\n", "I got a prime 8221\n", "I got a prime 8231\n", "I got a prime 8233\n", "I got a prime 8237\n", "I got a prime 8243\n", "I got a prime 8263\n", "I got a prime 8269\n", "I got a prime 8273\n", "I got a prime 8287\n", "I got a prime 8291\n", "I got a prime 8293\n", "I got a prime 8297\n", "I got a prime 8311\n", "I got a prime 8317\n", "I got a prime 8329\n", "I got a prime 8353\n", "I got a prime 8363\n", "I got a prime 8369\n", "I got a prime 8377\n", "I got a prime 8387\n", "I got a prime 8389\n", "I got a prime 8419\n", "I got a prime 8423\n", "I got a prime 8429\n", "I got a prime 8431\n", "I got a prime 8443\n", "I got a prime 8447\n", "I got a prime 8461\n", "I got a prime 8467\n", "I got a prime 8501\n", "I got a prime 8513\n", "I got a prime 8521\n", "I got a prime 8527\n", "I got a prime 8537\n", "I got a prime 8539\n", "I got a prime 8543\n", "I got a prime 8563\n", "I got a prime 8573\n", "I got a prime 8581\n", "I got a prime 8597\n", "I got a prime 8599\n", "I got a prime 8609\n", "I got a prime 8623\n", "I got a prime 8627\n", "I got a prime 8629\n", "I got a prime 8641\n", "I got a prime 8647\n", "I got a prime 8663\n", "I got a prime 8669\n", "I got a prime 8677\n", "I got a prime 8681\n", "I got a prime 8689\n", "I got a prime 8693\n", "I got a prime 8699\n", "I got a prime 8707\n", "I got a prime 8713\n", "I got a prime 8719\n", "I got a prime 8731\n", "I got a prime 8737\n", "I got a prime 8741\n", "I got a prime 8747\n", "I got a prime 8753\n", "I got a prime 8761\n", "I got a prime 8779\n", "I got a prime 8783\n", "I got a prime 8803\n", "I got a prime 8807\n", "I got a prime 8819\n", "I got a prime 8821\n", "I got a prime 8831\n", "I got a prime 8837\n", "I got a prime 8839\n", "I got a prime 8849\n", "I got a prime 8861\n", "I got a prime 8863\n", "I got a prime 8867\n", "I got a prime 8887\n", "I got a prime 8893\n", "I got a prime 8923\n", "I got a prime 8929\n", "I got a prime 8933\n", "I got a prime 8941\n", "I got a prime 8951\n", "I got a prime 8963\n", "I got a prime 8969\n", "I got a prime 8971\n", "I got a prime 8999\n", "I got a prime 9001\n", "I got a prime 9007\n", "I got a prime 9011\n", "I got a prime 9013\n", "I got a prime 9029\n", "I got a prime 9041\n", "I got a prime 9043\n", "I got a prime 9049\n", "I got a prime 9059\n", "I got a prime 9067\n", "I got a prime 9091\n", "I got a prime 9103\n", "I got a prime 9109\n", "I got a prime 9127\n", "I got a prime 9133\n", "I got a prime 9137\n", "I got a prime 9151\n", "I got a prime 9157\n", "I got a prime 9161\n", "I got a prime 9173\n", "I got a prime 9181\n", "I got a prime 9187\n", "I got a prime 9199\n", "I got a prime 9203\n", "I got a prime 9209\n", "I got a prime 9221\n", "I got a prime 9227\n", "I got a prime 9239\n", "I got a prime 9241\n", "I got a prime 9257\n", "I got a prime 9277\n", "I got a prime 9281\n", "I got a prime 9283\n", "I got a prime 9293\n", "I got a prime 9311\n", "I got a prime 9319\n", "I got a prime 9323\n", "I got a prime 9337\n", "I got a prime 9341\n", "I got a prime 9343\n", "I got a prime 9349\n", "I got a prime 9371\n", "I got a prime 9377\n", "I got a prime 9391\n", "I got a prime 9397\n", "I got a prime 9403\n", "I got a prime 9413\n", "I got a prime 9419\n", "I got a prime 9421\n", "I got a prime 9431\n", "I got a prime 9433\n", "I got a prime 9437\n", "I got a prime 9439\n", "I got a prime 9461\n", "I got a prime 9463\n", "I got a prime 9467\n", "I got a prime 9473\n", "I got a prime 9479\n", "I got a prime 9491\n", "I got a prime 9497\n", "I got a prime 9511\n", "I got a prime 9521\n", "I got a prime 9533\n", "I got a prime 9539\n", "I got a prime 9547\n", "I got a prime 9551\n", "I got a prime 9587\n", "I got a prime 9601\n", "I got a prime 9613\n", "I got a prime 9619\n", "I got a prime 9623\n", "I got a prime 9629\n", "I got a prime 9631\n", "I got a prime 9643\n", "I got a prime 9649\n", "I got a prime 9661\n", "I got a prime 9677\n", "I got a prime 9679\n", "I got a prime 9689\n", "I got a prime 9697\n", "I got a prime 9719\n", "I got a prime 9721\n", "I got a prime 9733\n", "I got a prime 9739\n", "I got a prime 9743\n", "I got a prime 9749\n", "I got a prime 9767\n", "I got a prime 9769\n", "I got a prime 9781\n", "I got a prime 9787\n", "I got a prime 9791\n", "I got a prime 9803\n", "I got a prime 9811\n", "I got a prime 9817\n", "I got a prime 9829\n", "I got a prime 9833\n", "I got a prime 9839\n", "I got a prime 9851\n", "I got a prime 9857\n", "I got a prime 9859\n", "I got a prime 9871\n", "I got a prime 9883\n", "I got a prime 9887\n", "I got a prime 9901\n", "I got a prime 9907\n", "I got a prime 9923\n", "I got a prime 9929\n", "I got a prime 9931\n", "I got a prime 9941\n", "I got a prime 9949\n", "I got a prime 9967\n", "I got a prime 9973\n" ] } ], "source": [ "primes = []\n", "\n", "while (N < Nmax):\n", " # print(\"Potential Prime number I want to test: \", N)\n", " hit = False # Define a variable \"hit\", with starting value \"False\".\n", "\n", " for i in range (2, int(np.sqrt(N)) + 1) : # Loop over the possible divisors.\n", " # print(\" I'm testing the first number with the second and get the third: \", N, i, N%i)\n", "\n", " if N%i == 0: # If the remainder of the integer division is 0\n", " hit = True # hit = \"True\" (i.e. the number being tested had a divisor, and is not a prime)\n", " break # Skip the rest of the possible divisors.\n", "\n", " if not hit: # If no number gave a perfect integer division (i.e. with remainder 0)...\n", " primes.append(N)\n", " print(\"I got a prime\", N) # ...the it is a prime number.\n", "\n", " N += 1 # Increase N by one." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now convert the Python list into a Numpy array:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "First 10 primes, [ 2 3 5 7 11 13 17 19 23 29]\n" ] } ], "source": [ "primes = np.array(primes)\n", "print(\"First 10 primes, \", primes[:10]) # prints the first 10 primes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can check that there are no even primes except 2:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " The even prime numbers are listed here: [2]\n" ] } ], "source": [ "print(\" The even prime numbers are listed here: \", primes[(primes % 2) == 0])" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "This algorithm gives the prime numbers up to Nmax = 10000!\n", "Think it through, and see if you understand it..." ] } ], "metadata": { "executable": "/usr/bin/env python", "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.6" }, "main_language": "python" }, "nbformat": 4, "nbformat_minor": 2 }