Code: Alles auswählen
file = open ("test.ps", "w")
file.write("%!\n%% Collatz\n")
file.close()
file = open ("test_odd.ps", "w")
file.write("%!\n%% Collatz\n")
file.close()
file = open ("test_even.ps", "w")
file.write("%!\n%% Collatz\n")
file.close()
for n in range (1, 10000, 1):
i = n
c_odd = 0
c_even = 0
while i > 1:
y = i % 2
if y == 1:
i = 3 * i + 1
c_odd = c_odd + 1
elif y == 0:
i = i/2
i = int (i)
c_even = c_even + 1
c = c_odd + c_even
n_ps = n * 0.05
c_ps = c * 3
c_odd_ps = c_odd * 3
c_even_ps = c_even *3
file = open ("test.ps", "a")
file.write ("newpath\n")
file.write (str (n_ps) + " ")
file.write (str (c_ps) + " ")
file.write ("1.5 0 360 arc\nclosepath\nfill\n")
file.close()
file = open ("test_odd.ps", "a")
file.write ("newpath\n")
file.write (str (n_ps) + " ")
file.write (str (c_odd_ps) + " ")
file.write ("1.5 0 360 arc\nclosepath\nfill\n")
file.close()
file = open ("test_even.ps", "a")
file.write ("newpath\n")
file.write (str (n_ps) + " ")
file.write (str (c_even_ps) + " ")
file.write ("1.5 0 360 arc\nclosepath\nfill\n")
file.close()
file = open ("test.ps", "a")
file.write ("showpage")
file.close()
file = open ("test_odd.ps", "a")
file.write ("showpage")
file.close()
file = open ("test_even.ps", "a")
file.write ("showpage")
file.close()

schwarz ist die gesamte Schrittlänge, die sich aus der Anzahl der "geraden" (=grün) und "ungeraden" (rot) Schritte zusammensetzt.