#
# PYTHON • MyCompiler
# https://[Log in to view URL]
# Sequência de Recáman &
# Gráfico
#
# 2026 Maio Qua, 6
# by
# j
#
import matplotlib.pyplot as plt
import numpy as np
def graphracaman():
#
# Parâmetros
#
max = 200
#
# Gera a sequência de recáman
#
r = []
for n in range(0,max+1):
if ( n == 0):
r.append(0)
else:
if ( ( ( r[n-1] - n ) > 0 ) and not(r[n-1] - n in r) ):
r.append(r[n-1] - n)
else:
r.append(r[n-1] + n)
#
# Gera o gráfico
#
x = []
y = []
plt.figure(figsize=(6,6))
teta = np.linspace(0, np.pi, 100) # 0 a 180 graus
comutador = 1
for j in range(0,max):
raio = abs((1/2)*(r[j] - r[j+1]))
if (r[j+1] > r[j]):
P = r[j]
s = 1
else:
P = r[j+1]
s = 1
if (comutador == 1):
x.append(P + s*raio + raio * np.cos(teta))
y.append(0 + raio * np.sin(teta))
else:
x.append(P + s*raio + raio * np.cos(np.pi+teta))
y.append(0 + raio * np.sin(np.pi+teta))
plt.plot(x[j], y[j])
comutador = -1 * comutador
tit = 'Sequência de Recamán | ' + str(max)
# Mantém a proporção circular
plt.axis('equal')
plt.title(tit)
plt.grid(False)
plt.show()
graphracaman()
To embed this project on your website, copy the following code and paste it into your website's HTML: