• + 0 comments

    Much more optimal solution in java : `

    import java.util.Scanner;

    public class BeautifulDaysAtTheMovies {

    public static int beautifulDays(int i, int j, int k) {
        int count = 0;
    
        for (int day = i; day <= j; day++) {
            int reversed = reverseNumber(day);
            if (Math.abs(day - reversed) % k == 0) {
                count++;
            }
        }
    
        return count;
    }
    
    private static int reverseNumber(int num) {
        int reversed = 0;
        while (num > 0) {
            reversed = reversed * 10 + num % 10;
            num /= 10;
        }
        return reversed;
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
    
        // Read input values
        int i = scanner.nextInt();
        int j = scanner.nextInt();
        int k = scanner.nextInt();
    
        // Compute and print the number of beautiful days
        System.out.println(beautifulDays(i, j, k));
    
        scanner.close();
    }
    

    } `