
public static int count(int sum) {
return count(sum, 1);
}
public static int count(int sum, int k) {
return (sum == 0) ? 1 : (sum < k) ? 0 :
count(sum - k, k + 1) + count(sum, k + 1);
}
public static void main(String[] args) {
System.out.println(count(7));
}
אופציה 2
public static int count(int sum) {
return count(sum, 1);
}
public static int count(int sum, int i) {
if (sum == 0)
return 1;
if (i > sum)
return 0;
return count(sum - i, i + 1) + count(sum, i + 1);
}
public static void main(String[] args) {
System.out.println(count(7));
}