{{{id=33|
# spirale di Ulam
///
}}}
{{{id=34|
for i in range(10):
floor(i/2+1)
#i % 4
///
1
1
2
2
3
3
4
4
5
5
}}}
{{{id=17|
u = [0, 0]
k = 1
PU = Graphics()
for i in range(300):
a = floor(i/2 + 1)
b = i % 4
for j in range(a):
if b == 0:
u = [u[0]+1, u[1]]
elif b == 1:
u = [u[0], u[1]+1]
elif b == 2:
u = [u[0]-1, u[1]]
elif b == 3:
u = [u[0], u[1]-1]
k += 1
if is_prime(k):
PU += point2d(u, size=2)
///
}}}
{{{id=38|
show(PU, axes = False, figsize = [6, 6])
///
}}}
{{{id=39|
##modo alternativo, usando list_plot: molto piu' veloce
///
}}}
{{{id=36|
u = [0, 0]
k = 1
PU = []
for i in range(500):
a = floor(i/2 + 1)
b = i % 4
for j in range(a):
if b == 0:
u = [u[0]+1, u[1]]
elif b == 1:
u = [u[0], u[1]+1]
elif b == 2:
u = [u[0]-1, u[1]]
elif b == 3:
u = [u[0], u[1]-1]
k += 1
if is_prime(k):
PU.append(tuple(u))
///
}}}
{{{id=22|
list_plot(PU, size=1, axes=False, figsize = [8, 8])
///
}}}
{{{id=21|
###
### teorema fondamentale numeri primi
///
}}}
{{{id=23|
def f(n):
return n/prime_pi(n)
///
}}}
{{{id=25|
gr1 = point([(i, f(i)) for i in range(2, 3000)], size = 1, figsize=[12, 6])
gr2 = plot(log(x)-1, (x, 1, 3000), color=hue(0.1))
#show(gr1 + gr2)
///
}}}
{{{id=27|
### primi trigemellari
### sia d un numero (pari) quanti sono le terne di primi (p1, p2, p3) della forma (p-d, p, p+d)?
///
}}}
{{{id=28|
d = 18
triG = []
i = 1
while i < 10000:
a = nth_prime(i)
if is_prime(a-d) and is_prime(a+d):
triG.append(a)
i += 1
len(triG)
///
571
}}}
{{{id=29|
triG
///
[11, 13, 17, 23, 37, 47, 53, 67, 73, 103, 107, 157, 173, 233, 257, 263, 277, 353, 373]
}}}
{{{id=48|
///
}}}
{{{id=47|
S = filter(lambda u: u[0]==u[1], PU1)
///
}}}
{{{id=46|
[S[i] for i in range(40)]
///
[(1, 1, 3), (-1, -1, 7), (-2, -2, 29), (-2, -2, 31), (4, 4, 43), (-3, -3, 59), (-3, -3, 61), (-4, -4, 101), (-4, -4, 103), (-4, -4, 107), (-4, -4, 109), (-5, -5, 157), (-5, -5, 163), (-5, -5, 167), (-6, -6, 227), (-6, -6, 229), (-6, -6, 233), (-6, -6, 239), (-6, -6, 241), (-7, -7, 307), (-7, -7, 311), (-7, -7, 313), (-7, -7, 317), (-8, -8, 401), (-8, -8, 409), (-8, -8, 419), (-8, -8, 421), (13, 13, 463), (-9, -9, 509), (-9, -9, 521), (-9, -9, 523), (-10, -10, 631), (-10, -10, 641), (-10, -10, 643), (-10, -10, 647), (-11, -11, 757), (-11, -11, 761), (-11, -11, 769), (-11, -11, 773), (-12, -12, 907)]
}}}
{{{id=45|
## seleziono quelli che hanno coordinate negative
S1 = filter(lambda u: u[0] < 0, S)
[S1[i] for i in range(40)]
///
[(-1, -1, 7), (-2, -2, 29), (-2, -2, 31), (-3, -3, 59), (-3, -3, 61), (-4, -4, 101), (-4, -4, 103), (-4, -4, 107), (-4, -4, 109), (-5, -5, 157), (-5, -5, 163), (-5, -5, 167), (-6, -6, 227), (-6, -6, 229), (-6, -6, 233), (-6, -6, 239), (-6, -6, 241), (-7, -7, 307), (-7, -7, 311), (-7, -7, 313), (-7, -7, 317), (-8, -8, 401), (-8, -8, 409), (-8, -8, 419), (-8, -8, 421), (-9, -9, 509), (-9, -9, 521), (-9, -9, 523), (-10, -10, 631), (-10, -10, 641), (-10, -10, 643), (-10, -10, 647), (-11, -11, 757), (-11, -11, 761), (-11, -11, 769), (-11, -11, 773), (-12, -12, 907), (-12, -12, 911), (-12, -12, 919), (-12, -12, 929)]
}}}
{{{id=49|
## isolo i numeri primi, escludendo le coordinate
Pr = map(lambda u: u[2], S1)
[Pr[i] for i in range(40)]
///
[7, 29, 31, 59, 61, 101, 103, 107, 109, 157, 163, 167, 227, 229, 233, 239, 241, 307, 311, 313, 317, 401, 409, 419, 421, 509, 521, 523, 631, 641, 643, 647, 757, 761, 769, 773, 907, 911, 919, 929]
}}}
{{{id=50|
## li trasformo in punti disegnabili
PPr = [(i, Pr[i]) for i in range(len(Pr))]
///
}}}
{{{id=51|
list_plot(PPr, size=1) + line([[100,0], [1300, 62900]], color="red")
///
}}}
{{{id=52|
[Pr[i] for i in range(50)]
///
[7, 29, 31, 59, 61, 101, 103, 107, 109, 157, 163, 167, 227, 229, 233, 239, 241, 307, 311, 313, 317, 401, 409, 419, 421, 509, 521, 523, 631, 641, 643, 647, 757, 761, 769, 773, 907, 911, 919, 929, 1061, 1063, 1069, 1087, 1229, 1231, 1237, 1249, 1259, 1409]
}}}
{{{id=53|
[Pr[i+1]-Pr[i] for i in range(100)]
///
[22, 2, 28, 2, 40, 2, 4, 2, 48, 6, 4, 60, 2, 4, 6, 2, 66, 4, 2, 4, 84, 8, 10, 2, 88, 12, 2, 108, 10, 2, 4, 110, 4, 8, 4, 134, 4, 8, 10, 132, 2, 6, 18, 142, 2, 6, 12, 10, 150, 14, 4, 2, 4, 6, 162, 6, 2, 4, 6, 2, 6, 10, 174, 12, 8, 16, 180, 2, 10, 14, 10, 6, 198, 2, 4, 8, 6, 6, 4, 206, 18, 10, 8, 4, 6, 2, 216, 10, 12, 2, 6, 4, 2, 234, 4, 8, 12, 6, 12, 228]
}}}
{{{id=54|
u = [0, 0]
k = 1
PU = []
PU1 = []
for i in range(500):
a = floor(i/3 + 1)
b = (i) % 5
for j in range(a):
if b == 0:
u = [u[0]+1, u[1]]
elif b == 1:
u = [u[0], u[1]+1]
elif b == 2:
u = [u[0]-1, u[1]]
elif b == 3:
u = [u[0], u[1]-1]
k += 1
if is_prime(k) or True:
PU.append(tuple(u))
PU1.append((u[0], u[1], k))
///
}}}
{{{id=55|
#list_plot([PU[i] for i in range(100, 200)], size=1, axes=False, figsize = [8, 8])
list_plot(PU, size=1, axes=False, figsize = [8, 8])
///
}}}
{{{id=56|
///
}}}