Kurssi muodostuu viikosta, joista jokaisella on tehtävää. Kurssista saa suorituksen, jos ratkaisee vähintään tehtävää kullakin viikolla.
Monellako tavalla voit suorittaa kurssin niin, että ratkot yhteensä tehtävää? Kaksi suoritustapaa ovat erilaiset, jos listat, jotka sisältävät ratkotut tehtävät ratkomisjärjestyksessä, ovat erilaiset.
Voit olettaa, että . Koodisi tulee toimia tehokkaasti kaikissa näissä tapauksissa. Koodin tulee laskea tulokset eikä palauttaa etukäteen laskettuja tuloksia.
Toteuta tiedostoon course.py
funktio count
, joka kertoo, monellako tapaa kurssin voi suorittaa.
def count(x): # TODO if __name__ == "__main__": print(count(40)) # 78913132667888442497725132524762783866832203758436352000000000 print(count(55)) # 320424698352073967965876852452014215914220727801318938295395908593909760000000000000 print(count(64)) # 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 print(count(100)) # 0
Selitys: Kun , joka viikko tulee suorittaa tehtävää. Tehtävät voidaan suorittaa järjestyksessä ja joka viikko on tapaa valita suoritettavat tehtävät, joten vastaus on . Kun , tulee suorittaa kaikki kurssin tehtävät, joten vastaus on .