Advertisement
IzhanVarsky

Untitled

May 7th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3.  
  4. public class Main {
  5. private static int N = 3;
  6.  
  7. public static void main(String[] args) {
  8. // task1("", 0);
  9. // task2();
  10. task3(7, new ArrayList<>(), 0, 1);
  11. }
  12.  
  13. private static void task3(int n, List<Integer> integers, int curSum, int lastAdded) {
  14. if (curSum == n) {
  15. System.out.println(integers);
  16. return;
  17. }
  18. for (int i = lastAdded; i <= n - curSum; i++) {
  19. List<Integer> next = new ArrayList<>(integers);
  20. next.add(i);
  21. if (curSum + i > n) break;
  22. task3(n, next, curSum + i, i);
  23. }
  24. }
  25.  
  26. private static void task2() {
  27. int n = 4;
  28. for (int m = 0; m < (1 << n); m++) {
  29. System.out.println("cur mask: " + Integer.toBinaryString(m));
  30. for (int s = m; ; s = (s - 1) & m) {
  31. System.out.print(Integer.toBinaryString(s) + " ");
  32. if (s == 0) break;
  33. }
  34. System.out.println();
  35. }
  36. }
  37.  
  38. private static void task1(String s, int cursize) {
  39. if (cursize == N) {
  40. System.out.println(s);
  41. return;
  42. }
  43. if (!(s.length() > 1 && s.charAt(s.length() - 1) == '0' && s.charAt(s.length() - 2) == '0')) {
  44. task1(s + '0', cursize + 1);
  45. }
  46. task1(s + '1', cursize + 1);
  47. }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement