Skip to content
Snippets Groups Projects

Primos

Open Alejandro Martinez Portilla requested to merge martinezpa-main-patch-83923 into main
1 file
+ 148
0
Compare changes
  • Side-by-side
  • Inline
+ 148
0
%% Cell type:markdown id:d663a5b2-4687-4491-b6c9-f5e39990a679 tags:
# NÚMEROS PRIMOS #
%% Cell type:code id:4e926dbc-bb03-479e-b33f-d9d5493b3804 tags:
``` python
import numpy as np
```
%% Cell type:code id:246bd96d-eff1-41d6-a474-d4904797c8ef tags:
``` python
import matplotlib.pyplot as plt
```
%% Cell type:code id:a6f59843-a8aa-438f-a4e2-21f5de716138 tags:
``` python
len(num_primo)
```
%% Output
35
%% Cell type:code id:d2cdb656-3890-411f-a33f-cfa7db5e6b88 tags:
``` python
def num_primo_func(N):
num = np.arange(2, N+1)
num_primo = [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')
num_primo.append(num[i])
return num_primo
def counting_primo(N):
num_primo = num_primo_func(N)
return len(num_primo)
```
%% Cell type:code id:5059a9ea-1716-4b64-85c6-c573d5f1542d tags:
``` python
counting_primo(1e4)
```
%% Output
1229
%% Cell type:code id:39f76662-fef7-4def-ba75-0d74a1631e16 tags:
``` python
np.rint(2.1)
```
%% Output
2.0
%% Cell type:code id:3bea1741-efdc-46b8-bb3c-ff816077375f tags:
``` python
np.rint(1000/np.log(1000))
```
%% Output
145.0
%% Cell type:code id:eeab92a0-ebc4-402e-b5f0-21d7023368d1 tags:
``` python
np.abs(np.array([-9,-6,-3,0]))
```
%% Output
array([9, 6, 3, 0])
%% Cell type:code id:9554b0e7-1e59-4da2-9ce4-efaa7148b5f4 tags:
``` python
nums= np.arange(2,1001)
y=[]
for n in np.arange(0, len(nums)):
y.append(counting_primo(nums[n]))
```
%% Cell type:code id:9c36d2dc-3f3e-4adc-8256-2739d1590df8 tags:
``` python
print(y)
```
%% Output
[1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 17, 17, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 27, 27, 27, 27, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 44, 44, 44, 44, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 57, 57, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 64, 64, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83, 83, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 89, 89, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 104, 104, 105, 105, 105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 109, 109, 110, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 116, 116, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 120, 120, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129, 129, 129, 130, 130, 130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132, 132, 132, 132, 132, 133, 133, 133, 133, 133, 133, 134, 134, 134, 134, 135, 135, 135, 135, 135, 135, 135, 135, 136, 136, 136, 136, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 140, 140, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 142, 142, 143, 143, 143, 143, 144, 144, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 147, 147, 147, 147, 148, 148, 149, 149, 149, 149, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 151, 151, 151, 151, 152, 152, 153, 153, 153, 153, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 155, 155, 155, 155, 156, 156, 156, 156, 156, 156, 156, 156, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 158, 158, 158, 158, 158, 158, 158, 159, 159, 159, 159, 160, 160, 160, 160, 160, 160, 161, 161, 161, 161, 161, 161, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 163, 163, 163, 163, 164, 164, 164, 164, 164, 164, 165, 165, 165, 165, 165, 165, 166, 166, 166, 166, 166, 166, 166, 166, 167, 167, 167, 167, 167, 167, 168, 168, 168, 168]
%% Cell type:code id:355d417f-06f0-44f5-9b6a-aabe7e3aa2de tags:
``` python
plt.figure()
plt.plot(nums, y, '.')
plt.plot(nums, np.rint(nums/np.log(nums)))
plt.show()
```
%% Output
%% Cell type:code id:3e5fd26e-3590-4508-a8ea-eaa237c28386 tags:
``` python
f= np.rint(nums/np.log(nums))
error_p = np.abs(y-f)/y*100
```
%% Cell type:code id:13847abe-a8c5-40cf-985e-f3e905feb87b tags:
``` python
plt.figure()
plt.plot(nums[10:], error_p[10:])
```
%% Output
[<matplotlib.lines.Line2D at 0x118bcb763d0>]
%% Cell type:code id:2fe6dfbd-7842-48d0-8eed-3ffa90417efe tags:
``` python
```
Loading