Tarkastellaan vielä edellisen tehtävän konetta. Montako eri tapaa on tuottaa luku koneen avulla?
Esimerkiksi kun , tavat ovat seuraavat:
Tässä tapauksessa tapojen määrä on .
Toteuta tiedostoon allsteps.py
funktio count_steps
, joka ilmoittaa, monellako tavalla luku voidaan tuottaa koneen avulla.
Funktion tulee toimia tehokkaasti, kun on välillä .
def count_steps(x): # TODO if __name__ == "__main__": print(count_steps(1)) # 1 print(count_steps(2)) # 1 print(count_steps(3)) # 0 print(count_steps(4)) # 2 print(count_steps(5)) # 1 print(count_steps(17)) # 5 print(count_steps(42)) # 0 print(count_steps(100)) # 242 print(count_steps(1000)) # 2948311