Competitive Programming Solutions

GitHub
back to dashboard

M. Lucky Numbers

Codeforces - Sheet #2 (Loops) · limit: 1s · memory: 256MB · view on codeforces

input

8 15

output

-1
Main.java
static void solve() {

        // Write your solution here 
        int a = in.nextInt();   
        int b = in.nextInt();

        Queue<Long> queue = new LinkedList<>();
        List<Long> luckyNumbers = new ArrayList<>();

        queue.add(4L);
        queue.add(7L);

        while (!queue.isEmpty()) {
            long current = queue.poll();

            if (current > b) {
                break; 
            }

            luckyNumbers.add(current);

            queue.add(current * 10 + 4);
            queue.add(current * 10 + 7);
        }

        StringBuilder result = new StringBuilder();
        for (long num : luckyNumbers) {
            if (num >= a && num <= b) {
                result.append(num).append(" ");
            }
        }

         out.print(result.length() == 0 ? -1 : result.toString().trim());

    }