Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
G
grupo andres pabon- santiago rivera
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Andres Felipe Pabon Orozco
grupo andres pabon- santiago rivera
Commits
b04e9503
Commit
b04e9503
authored
2 years ago
by
Andres Felipe Pabon Orozco
Browse files
Options
Downloads
Patches
Plain Diff
Upload New File
parent
44bfb45e
Branches
main
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
Untitled.ipynb
+469
-0
469 additions, 0 deletions
Untitled.ipynb
with
469 additions
and
0 deletions
Untitled.ipynb
0 → 100644
+
469
−
0
View file @
b04e9503
{
"cells": [
{
"cell_type": "markdown",
"id": "6a48eeee-a178-4cbb-9aa2-1653b9026e21",
"metadata": {},
"source": [
"grafica de primos hasta el 1000"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "3f5faedb-41fa-4d68-ba05-9414218927e2",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "7655ceec-69a8-4ed6-9768-08bf522c5d83",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3 es primo\n",
"4 no es primo\n",
"5 es primo\n",
"6 no es primo\n",
"7 es primo\n",
"8 no es primo\n",
"9 no es primo\n",
"10 no es primo\n",
"11 es primo\n",
"12 no es primo\n",
"13 es primo\n",
"14 no es primo\n",
"15 no es primo\n",
"16 no es primo\n",
"17 es primo\n",
"18 no es primo\n",
"19 es primo\n",
"20 no es primo\n",
"21 no es primo\n",
"22 no es primo\n",
"23 es primo\n",
"24 no es primo\n",
"25 no es primo\n",
"26 no es primo\n",
"27 no es primo\n",
"28 no es primo\n",
"29 es primo\n",
"30 no es primo\n",
"31 es primo\n",
"32 no es primo\n",
"33 no es primo\n",
"34 no es primo\n",
"35 no es primo\n",
"36 no es primo\n",
"37 es primo\n",
"38 no es primo\n",
"39 no es primo\n",
"40 no es primo\n",
"41 es primo\n",
"42 no es primo\n",
"43 es primo\n",
"44 no es primo\n",
"45 no es primo\n",
"46 no es primo\n",
"47 es primo\n",
"48 no es primo\n",
"49 no es primo\n",
"50 no es primo\n",
"51 no es primo\n",
"52 no es primo\n",
"53 es primo\n",
"54 no es primo\n",
"55 no es primo\n",
"56 no es primo\n",
"57 no es primo\n",
"58 no es primo\n",
"59 es primo\n",
"60 no es primo\n",
"61 es primo\n",
"62 no es primo\n",
"63 no es primo\n",
"64 no es primo\n",
"65 no es primo\n",
"66 no es primo\n",
"67 es primo\n",
"68 no es primo\n",
"69 no es primo\n",
"70 no es primo\n",
"71 es primo\n",
"72 no es primo\n",
"73 es primo\n",
"74 no es primo\n",
"75 no es primo\n",
"76 no es primo\n",
"77 no es primo\n",
"78 no es primo\n",
"79 es primo\n",
"80 no es primo\n",
"81 no es primo\n",
"82 no es primo\n",
"83 es primo\n",
"84 no es primo\n",
"85 no es primo\n",
"86 no es primo\n",
"87 no es primo\n",
"88 no es primo\n",
"89 es primo\n",
"90 no es primo\n",
"91 no es primo\n",
"92 no es primo\n",
"93 no es primo\n",
"94 no es primo\n",
"95 no es primo\n",
"96 no es primo\n",
"97 es primo\n",
"98 no es primo\n",
"99 no es primo\n",
"100 no es primo\n",
"101 es primo\n",
"102 no es primo\n",
"103 es primo\n",
"104 no es primo\n",
"105 no es primo\n",
"106 no es primo\n",
"107 es primo\n",
"108 no es primo\n",
"109 es primo\n",
"110 no es primo\n",
"111 no es primo\n",
"112 no es primo\n",
"113 es primo\n",
"114 no es primo\n",
"115 no es primo\n",
"116 no es primo\n",
"117 no es primo\n",
"118 no es primo\n",
"119 no es primo\n",
"120 no es primo\n",
"121 no es primo\n",
"122 no es primo\n",
"123 no es primo\n",
"124 no es primo\n",
"125 no es primo\n",
"126 no es primo\n",
"127 es primo\n",
"128 no es primo\n",
"129 no es primo\n",
"130 no es primo\n",
"131 es primo\n",
"132 no es primo\n",
"133 no es primo\n",
"134 no es primo\n",
"135 no es primo\n",
"136 no es primo\n",
"137 es primo\n",
"138 no es primo\n",
"139 es primo\n",
"140 no es primo\n",
"141 no es primo\n",
"142 no es primo\n",
"143 no es primo\n",
"144 no es primo\n",
"145 no es primo\n",
"146 no es primo\n",
"147 no es primo\n",
"148 no es primo\n",
"149 es primo\n",
"150 no es primo\n"
]
}
],
"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": 17,
"id": "6c485dc9-ac8a-4a64-8705-c1d8e1b4ac7a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[2,\n",
" 3,\n",
" 5,\n",
" 7,\n",
" 11,\n",
" 13,\n",
" 17,\n",
" 19,\n",
" 23,\n",
" 29,\n",
" 31,\n",
" 37,\n",
" 41,\n",
" 43,\n",
" 47,\n",
" 53,\n",
" 59,\n",
" 61,\n",
" 67,\n",
" 71,\n",
" 73,\n",
" 79,\n",
" 83,\n",
" 89,\n",
" 97,\n",
" 101,\n",
" 103,\n",
" 107,\n",
" 109,\n",
" 113,\n",
" 127,\n",
" 131,\n",
" 137,\n",
" 139,\n",
" 149]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"num_prim"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "84c78578-d238-4092-a1b1-d397a030c47f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"35"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(num_prim)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "18fd005b-9e5d-43f5-b16d-0fca7332193c",
"metadata": {},
"outputs": [],
"source": [
"def num_prim_func(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",
" \n",
" break\n",
" if cond !=0:\n",
" #print(num[i], \"es primo\")\n",
" #print(num[j], \"no es primo\")\n",
" \n",
" \n",
" num_prim.append(num[i])\n",
" \n",
" return num_prim \n",
" \n",
"def counting_primes(N):\n",
" num_prim= num_prim_func(N)\n",
" return len(num_prim)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9f9e616d-c830-4942-a429-a5fbea2d1242",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 45,
"id": "e6b54d00-23ab-442b-9b75-cc874c8d0809",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1229"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"counting_primes(1e4)"
]
},
{
"cell_type": "code",
"execution_count": 60,
"id": "0d8521cc-193f-4440-a77d-068cb661c021",
"metadata": {},
"outputs": [],
"source": [
"nume=np.arange(2,1001)\n",
"y=[]\n",
"\n",
"for n in np.arange (0,len(nume)):\n",
" y.append(counting_primes(num[n]))"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "65ad1293-5d8d-4ec9-afd2-105e50564242",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 66,
"id": "0a8820d0-104e-4258-83ce-9d5336c8d149",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x223a4f2bb50>]"
]
},
"execution_count": 66,
"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 (nume,y,\".\")\n",
"plt.title(\"cantidad de primos\")\n",
"plt.plot(nume,np.rint(nume/np.log(nume)))"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "6d8e19f2-f0bb-47e1-92db-fa4a22c9f37f",
"metadata": {},
"outputs": [],
"source": [
"f=np.rint(nume/np.log(nume))\n",
"error_p=np.abs(y-f)/y*100"
]
},
{
"cell_type": "code",
"execution_count": 65,
"id": "b8210c4d-b6f6-40d9-b666-b0dbf28d6e42",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x223a4ecf670>]"
]
},
"execution_count": 65,
"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",
"\n",
"plt.plot (nume[10:],error_p[10:])"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "55867cc5-f03d-4fef-b4cc-c345b7768b09",
"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
}
%% Cell type:markdown id:6a48eeee-a178-4cbb-9aa2-1653b9026e21 tags:
grafica de primos hasta el 1000
%% Cell type:code id:3f5faedb-41fa-4d68-ba05-9414218927e2 tags:
```
python
import
numpy
as
np
import
matplotlib.pyplot
as
plt
```
%% Cell type:code id:7655ceec-69a8-4ed6-9768-08bf522c5d83 tags:
```
python
N
=
150
num
=
np
.
arange
(
2
,
N
+
1
)
num_prim
=
[
num
[
0
]]
for
i
in
np
.
arange
(
1
,
len
(
num
)):
for
j
in
np
.
arange
(
0
,
i
):
cond
=
num
[
i
]
%
num
[
j
]
if
cond
==
0
:
print
(
num
[
i
],
"
no es primo
"
)
break
if
cond
!=
0
:
print
(
num
[
i
],
"
es primo
"
)
num_prim
.
append
(
num
[
i
])
```
%% Output
3 es primo
4 no es primo
5 es primo
6 no es primo
7 es primo
8 no es primo
9 no es primo
10 no es primo
11 es primo
12 no es primo
13 es primo
14 no es primo
15 no es primo
16 no es primo
17 es primo
18 no es primo
19 es primo
20 no es primo
21 no es primo
22 no es primo
23 es primo
24 no es primo
25 no es primo
26 no es primo
27 no es primo
28 no es primo
29 es primo
30 no es primo
31 es primo
32 no es primo
33 no es primo
34 no es primo
35 no es primo
36 no es primo
37 es primo
38 no es primo
39 no es primo
40 no es primo
41 es primo
42 no es primo
43 es primo
44 no es primo
45 no es primo
46 no es primo
47 es primo
48 no es primo
49 no es primo
50 no es primo
51 no es primo
52 no es primo
53 es primo
54 no es primo
55 no es primo
56 no es primo
57 no es primo
58 no es primo
59 es primo
60 no es primo
61 es primo
62 no es primo
63 no es primo
64 no es primo
65 no es primo
66 no es primo
67 es primo
68 no es primo
69 no es primo
70 no es primo
71 es primo
72 no es primo
73 es primo
74 no es primo
75 no es primo
76 no es primo
77 no es primo
78 no es primo
79 es primo
80 no es primo
81 no es primo
82 no es primo
83 es primo
84 no es primo
85 no es primo
86 no es primo
87 no es primo
88 no es primo
89 es primo
90 no es primo
91 no es primo
92 no es primo
93 no es primo
94 no es primo
95 no es primo
96 no es primo
97 es primo
98 no es primo
99 no es primo
100 no es primo
101 es primo
102 no es primo
103 es primo
104 no es primo
105 no es primo
106 no es primo
107 es primo
108 no es primo
109 es primo
110 no es primo
111 no es primo
112 no es primo
113 es primo
114 no es primo
115 no es primo
116 no es primo
117 no es primo
118 no es primo
119 no es primo
120 no es primo
121 no es primo
122 no es primo
123 no es primo
124 no es primo
125 no es primo
126 no es primo
127 es primo
128 no es primo
129 no es primo
130 no es primo
131 es primo
132 no es primo
133 no es primo
134 no es primo
135 no es primo
136 no es primo
137 es primo
138 no es primo
139 es primo
140 no es primo
141 no es primo
142 no es primo
143 no es primo
144 no es primo
145 no es primo
146 no es primo
147 no es primo
148 no es primo
149 es primo
150 no es primo
%% Cell type:code id:6c485dc9-ac8a-4a64-8705-c1d8e1b4ac7a tags:
```
python
num_prim
```
%% Output
[2,
3,
5,
7,
11,
13,
17,
19,
23,
29,
31,
37,
41,
43,
47,
53,
59,
61,
67,
71,
73,
79,
83,
89,
97,
101,
103,
107,
109,
113,
127,
131,
137,
139,
149]
%% Cell type:code id:84c78578-d238-4092-a1b1-d397a030c47f tags:
```
python
len
(
num_prim
)
```
%% Output
35
%% Cell type:code id:18fd005b-9e5d-43f5-b16d-0fca7332193c tags:
```
python
def
num_prim_func
(
N
):
num
=
np
.
arange
(
2
,
N
+
1
)
num_prim
=
[
num
[
0
]]
for
i
in
np
.
arange
(
1
,
len
(
num
)):
for
j
in
np
.
arange
(
0
,
i
):
cond
=
num
[
i
]
%
num
[
j
]
if
cond
==
0
:
break
if
cond
!=
0
:
#print(num[i], "es primo")
#print(num[j], "no es primo")
num_prim
.
append
(
num
[
i
])
return
num_prim
def
counting_primes
(
N
):
num_prim
=
num_prim_func
(
N
)
return
len
(
num_prim
)
```
%% Cell type:code id:9f9e616d-c830-4942-a429-a5fbea2d1242 tags:
```
python
``
`
%%
Cell
type
:
code
id
:
e6b54d00
-
23
ab
-
442
b
-
9
b75
-
cc874c8d0809
tags
:
```
python
counting_primes(1e4)
```
%% Output
1229
%% Cell type:code id:0d8521cc-193f-4440-a77d-068cb661c021 tags:
```
python
nume=np.arange(2,1001)
y=[]
for n in np.arange (0,len(nume)):
y.append(counting_primes(num[n]))
```
%% Cell type:code id:65ad1293-5d8d-4ec9-afd2-105e50564242 tags:
```
python
```
%% Cell type:code id:0a8820d0-104e-4258-83ce-9d5336c8d149 tags:
```
python
plt.figure()
plt.plot (nume,y,".")
plt.title("cantidad de primos")
plt.plot(nume,np.rint(nume/np.log(nume)))
```
%% Output
[<matplotlib.lines.Line2D at 0x223a4f2bb50>]
%% Cell type:code id:6d8e19f2-f0bb-47e1-92db-fa4a22c9f37f tags:
```
python
f=np.rint(nume/np.log(nume))
error_p=np.abs(y-f)/y
*
100
```
%% Cell type:code id:b8210c4d-b6f6-40d9-b666-b0dbf28d6e42 tags:
```
python
plt.figure()
plt.plot (nume[10:],error_p[10:])
```
%% Output
[<matplotlib.lines.Line2D at 0x223a4ecf670>]
%% Cell type:code id:55867cc5-f03d-4fef-b4cc-c345b7768b09 tags:
```
python
```
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment