Laske, monellako tavalla positiivinen kokonaisluku n voidaan esittää kolmen eri positiivisen kokonaisluvun summana. Kaksi tapaa ovat erilaiset, jos toinen niistä sisältää luvun, jota toinen ei sisällä.
Esimerkiksi kun n=8, tapoja on kaksi: 1+2+5 ja 1+3+4.
Voit olettaa, että n on enintään 10^9.
Python
Toteuta tiedostoon sumofthree.py funktio count, joka laskee tapojen määrän.
def count(n):
# TODO
if __name__ == "__main__":
print(count(8)) # 2
print(count(30)) # 61
print(count(1337)) # 148296
Java
Toteuta tiedostoon SumOfThree.java metodi count, joka laskee tapojen määrän.
public class SumOfThree {
public long count(int n) {
// TODO
}
public static void main(String[] args) {
SumOfThree s = new SumOfThree();
System.out.println(s.count(8)); // 2
System.out.println(s.count(30)); // 61
System.out.println(s.count(1337)); // 148296
}
}
