Java intuitive non brute force
build two non zero numbers that sums n , starting from the least significant digit.\ntrick is to treat 0 and 1 as 10 and 11\n\njava\n    public int[] getNoZeroI
build two non zero numbers that sums `n` , starting from the least significant digit.\ntrick is to treat `0` and `1` as `10` and `11`\n\n```java\n    public int[] getNoZeroIntegers(int n) {\n        \n        int a=0, b=0, step=1;\n        \n        while (n>0) {\n            int d = n % 10; // digit\n            n /= 10;\n            \n            if ((d == 0 || d == 1) && n>0) { // n>0 evades the case when 1 is the most significant digit\n                a += step*(1+d);\n                b += step*9;\n                n--; // handle carry\n            } else {\n                a += step*1;\n                b += step*(d-1);\n            }\n            step *= 10;\n        }\n        \n        return new int[]{a,b};\n    }\n```
[]