{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "cb02fe2a-61f8-46cb-acdc-dc210bb9f9df",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np \n",
    "import matplotlib.pyplot as plt\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "9d609fc9-be99-4e8d-87c7-cdcfbce35cc9",
   "metadata": {},
   "outputs": [],
   "source": [
    "N = 150\n",
    "num = np.arange(2, N+1)\n",
    "num_prim = [num[0]]\n",
    "\n",
    "for i in np.arange(1, len(num)):\n",
    "    for j in np.arange(0, i):\n",
    "        cond = num[i]%num[j]\n",
    "        if cond == 0:\n",
    "            #print(num [i], 'no es primo')\n",
    "            break\n",
    "    if cond != 0:\n",
    "        #print(num[i], 'es primo')\n",
    "        num_prim.append(num[i])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "c387f96b-1f56-4744-b127-042342c10cda",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "35"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(num_prim)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "899b39a7-9db3-44ac-8bd6-a9f26b5ae9cb",
   "metadata": {},
   "outputs": [],
   "source": [
    "def num_prim_func(N):\n",
    "    '''Retorna los numeros primos hasta N'''\n",
    "    num = np.arange(2, N+1)\n",
    "    num_prim = [num[0]]\n",
    "\n",
    "    for i in np.arange(1, len(num)):\n",
    "        for j in np.arange(0, i):\n",
    "            cond = num[i]%num[j]\n",
    "            if cond == 0:\n",
    "                #print(num [i], 'no es primo')\n",
    "                break\n",
    "        if cond != 0:\n",
    "            #print(num[i], 'es primo')\n",
    "            num_prim.append(num[i])\n",
    "    return num_prim\n",
    "\n",
    "def counting_primes(N):\n",
    "    '''Retorna los numeros primos hasta N'''\n",
    "    num_prim = num_prim_func(N)\n",
    "    return len(num_prim)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "id": "686502f4-306b-4bbd-a606-319b94d0158e",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "nums = np.arange(2, 1001)\n",
    "y = []\n",
    "\n",
    "for i in np.arange(0, len(nums)):\n",
    "    y.append(counting_primes(nums[i]))\n",
    "    \n",
    "y = np.array(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "id": "7e687425-7393-494d-8c84-17959ee7bc2f",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.plot(nums, y, '.')\n",
    "plt.plot(nums, np.rint(nums/np.log(nums)))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "id": "6655c7c4-31f8-44ec-8824-db658406e97e",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "f = np.rint(nums/np.log(nums))\n",
    "error_p = np.abs(y-f)/y*100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "id": "d0f62e9c-c2b8-4f53-9110-f27b2d550fd2",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x22422fe3400>]"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.plot(nums[10:], error_p[10:])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "671005a5-8863-47c5-a470-e70be623c1e1",
   "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.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}