Kann man auch übrigens schön rekursiv lösen... hab ich mal für ne Freundin von mir für nen Programmierschein gemacht, allerdings in Java:
http://paste.pocoo.org/show/290349/
Ok, habs mal schnell in Python umgesetzt:
http://paste.pocoo.org/show/290356/
Wäre mal interessant einen Geschwindigkeitsvergleich vorzunehmen; also zwischen der rekursiven und iterativen Methode.
Edit: Ok, ohne exakte Zeitmessung fällt einem bei (49, 6) sofort auf, wie schnell die iterative Lösung im Vergleich zu rekursiven ist. Bei genauerem Betrachten der beiden Algorithmen ist es auch klar, da der iterative eine Komplexität von O(k) hat und der rekursive irgend was in Richtung O(n) * O(k).
Fazit:Die iterative Variante ist zu bevorzugen

(Die rekursive sieht aber dafür eleganter aus imho

)