Monellako tavalla kokonaisluku n voidaan esittää positiivisten kokonaislukujen summana? Kaksi tapaa ovat erilaiset, jos summat eroavat, kun luvut järjestetään pienimmästä suurimpaan. Summassa voi olla myös vain yksi luku.
Esimerkiksi luku 5 voidaan esittää seuraavilla tavoilla: 5, 1+4, 2+3, 1+1+3, 1+2+2, 1+1+1+2 ja 1+1+1+1+1.
Voit olettaa, että n on välillä 1 \dots 50. Koodisi tulee laskea vastaus itse (eli siinä ei saa olla esimerkiksi listaa, jossa on valmiit vastaukset joka testiin).
Python
Toteuta tiedostoon number.py
funktio count
, joka antaa esitystapojen määrän.
def count(n): # TODO if __name__ == "__main__": print(count(4)) # 5 print(count(5)) # 7 print(count(8)) # 22 print(count(42)) # 53174
Java
Toteuta tiedostoon Number.java
metodi count
, joka antaa esitystapojen määrän.
public class Number { public int count(int n) { // TODO } public static void main(String[] args) { Number n = new Number(); System.out.println(n.count(4)); // 5 System.out.println(n.count(5)); // 7 System.out.println(n.count(8)); // 22 System.out.println(n.count(42)); // 53174 } }