Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.List;
- public class Main {
- private static int N = 3;
- public static void main(String[] args) {
- // task1("", 0);
- // task2();
- task3(7, new ArrayList<>(), 0, 1);
- }
- private static void task3(int n, List<Integer> integers, int curSum, int lastAdded) {
- if (curSum == n) {
- System.out.println(integers);
- return;
- }
- for (int i = lastAdded; i <= n - curSum; i++) {
- List<Integer> next = new ArrayList<>(integers);
- next.add(i);
- if (curSum + i > n) break;
- task3(n, next, curSum + i, i);
- }
- }
- private static void task2() {
- int n = 4;
- for (int m = 0; m < (1 << n); m++) {
- System.out.println("cur mask: " + Integer.toBinaryString(m));
- for (int s = m; ; s = (s - 1) & m) {
- System.out.print(Integer.toBinaryString(s) + " ");
- if (s == 0) break;
- }
- System.out.println();
- }
- }
- private static void task1(String s, int cursize) {
- if (cursize == N) {
- System.out.println(s);
- return;
- }
- if (!(s.length() > 1 && s.charAt(s.length() - 1) == '0' && s.charAt(s.length() - 2) == '0')) {
- task1(s + '0', cursize + 1);
- }
- task1(s + '1', cursize + 1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement