Skip to content

Instantly share code, notes, and snippets.

@alexradzin
Created April 16, 2023 16:09
Show Gist options
  • Select an option

  • Save alexradzin/242dce82553ddabcb20ec2b7c8adb904 to your computer and use it in GitHub Desktop.

Select an option

Save alexradzin/242dce82553ddabcb20ec2b7c8adb904 to your computer and use it in GitHub Desktop.

Revisions

  1. alexradzin created this gist Apr 16, 2023.
    47 changes: 47 additions & 0 deletions NumbersTest.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,47 @@
    package com.numberstest;

    import org.junit.jupiter.api.Test;

    import java.util.Arrays;

    public class NumbersTest {
    @Test
    void n() {
    printNumbersBuildOfDigitsLessThan(4);
    }

    private void printNumbersBuildOfDigitsLessThan(int n) {
    for (int i = 1; i < n; i++) {
    printNumbersBuildOfDigits(i);
    }
    }

    private void printNumbersBuildOfDigits(int n) {
    if (n < 1) {
    return;
    }
    int[] num = new int[n];
    num[0] = 1;
    for (int i = 1; i < n; i++) {
    num[i] = 0;
    }

    while (num[0] != 0) {
    System.out.println(join(num));
    int index = n - 1;
    for (; num[index] == 9; index--) {
    num[index] = 0;
    if (index <= 0) {
    return;
    }
    }
    num[index] = num[index] + 1;
    }
    System.out.println(join(num));
    }

    private static String join(int[] arr) {
    return Arrays.toString(arr).replaceAll("[\\[\\],]", "");
    }

    }