Triangles de Sierpiński

El triangle de Sierpiński és un objecte fractal, que va ser introduït per primera vegada en 1915 pel matemàtic polonès Waclaw Sierpiński. És un dels exemples bàsics de conjunt auto-semblant, una de les propietats fonamentals de les fractals.

Per pintar un triangle de Sierpiński de mida mm amb un sol nivell, cal pintar un triangle equilàter de costat mm. Per pintar un triangle de Sierpiński de mida mm i n2n\ge2 nivells, cal pintar tres subtriangles de Sierpiński de mida m/2m/2 amb n1n-1 nivells. El segon triangle s’ha de pintar a la dreta del vèrtex dret del primer, el tercer s’ha de pintar al damunt del vèrtex superior del primer.

Per exemple, aquests són triangles de Sierpiński amb 1, 2, 3, 4, 5 i 6 nivells:

1      

4      

Entrada

A l’entrada, es dónen dos valors: un real positiu mm amb la mida del triangle de Sierpiński, i un natural nn amb el seu nombre de nivells.

Sortida

El programa ha de dibuixar un triangle de Sierpiński de mida mm amb nn nivells.

2

Exemple d’entrada 1

100
2

Exemple de sortida 1

2

Exemple d’entrada 2

100
5

Exemple de sortida 2

Recordatori

Recordeu que Python ofereix un mòdul turtle que permet pintar images amb una tortuga que es desplaça. Les úniques operacions que us calen són turtle.forward(m) que avança la tortuga m unitats, turtle.backward(m) que recula la tortuga m unitats, turtle.right(a) que gira la tortuga a graus a la dreta i turtle.left(a) que gira la tortuga a graus a l’esquerra. També, podeu usar turtle.speed(0) per accelerar la tortuga. Per exemple, aquest programa pinta un avorrit triangle:

import turtle
import yogi

def triangle(m):
    for i in range(3):
        turtle.forward(m)
        turtle.left(120)

turtle.speed(0)
m = yogi.read(float)
triangle(m)

Observacions

Informació del problema

Autoria: Jordi Petit

Generació: 2026-01-25T11:02:16.185Z

© Jutge.org, 2006–2026.
https://jutge.org