Enumeració dels punts del primer quadrant¶
Volem poder obtenir qualsevol punt del pla amb coordenades enteres estrictament positives. Una manera d’aconseguir-ho consisteix en ordenar-los tal com indica aquest dibuix:
Com sabeu, la sèrie següent serveix per a obtenir els punts en l’ordre indicat:
\[\begin{split}\begin{align*}
(x_0, y_0) & = (1, 1) \\
(x_{i+1}, y_{i+1}) & = \begin{cases}
(x_i - 1, y_i + 1) & \mbox{si } & x_i \gt 1 \\
(y_i + 1, 1) & \mbox{si } & x_i = 1
\end{cases}
\mbox{ per } i \geq 0
\end{align*}\end{split}\]
Al mòdul punts_enters (fitxer punts_enters.py),
definiu la funció següent:
- punts_enters.punt_del_pla(i)¶
Retorna l”i-èssim punt del pla definit segons la sèrie anterior. El valor retornat ha de ser una tupla amb les dues coordenades enteres.
El paràmetre i ha de complir \(i \ge 0\).
Per exemple:
>>> punt_del_pla(0) (1, 1) >>> punt_del_pla(1) (2, 1) >>> punt_del_pla(2) (1, 2) >>> punt_del_pla(6) (4, 1) >>> punt_del_pla(12) (3, 3)
Disposeu de més jocs de proves al fitxer
test-punt_del_pla.txt i d’una solució al fitxer
punts_enters.py