CSES - Kurssi

Kurssi muodostuu 7 viikosta, joista jokaisella on 8 tehtävää. Kurssista saa suorituksen, jos ratkaisee vähintään 5 tehtävää kullakin viikolla.

Monellako tavalla voit suorittaa kurssin niin, että ratkot yhteensä x tehtävää? Kaksi suoritustapaa ovat erilaiset, jos toisessa ratkaistaan vähintään yksi tehtävä, jota toisessa ei ratkaista.

Voit olettaa, että 1 \le x \le 100. Koodisi tulee laskea vastaus itse (eli siinä ei saa olla esimerkiksi listaa, jossa on valmiit vastaukset joka testiin).

Python

Toteuta tiedostoon course.py funktio count, joka kertoo, monellako tapaa kurssin voi suorittaa.

def count(x):
    # TODO

if __name__ == "__main__":
    print(count(35)) # 1727094849536
    print(count(42)) # 2375030784000
    print(count(55)) # 56
    print(count(56)) # 1
    print(count(80)) # 0

Java

Toteuta tiedostoon Course.java metodi count, joka kertoo, monellako tapaa kurssin voi suorittaa.

public class Course {
    public long count(int x) {
        // TODO
    }

    public static void main(String[] args) {
        Course c = new Course();
        System.out.println(c.count(35)); // 1727094849536
        System.out.println(c.count(42)); // 2375030784000
        System.out.println(c.count(55)); // 56
        System.out.println(c.count(56)); // 1
        System.out.println(c.count(80)); // 0
    }
}