Exam Numbers Java

Exam Numbers

While studying for the exam, you get frustrated with all the boring tasks and decide to come up with a task of your own. You want to find all the 3-digit numbers that are in some interval and whose sum of digits equal some target. You decide to name them exam numbers for good fortune.

Write a program that prints those exam numbers in increasing sequence.

Input

  • The input consists of exactly 3 lines
  • x - interval start (inclusive)
  • y - interval end (inclusive)
  • t - target sum

Output

  • Output all the exam numbers on a new line

Constraints

100 <= x < y <= 999

Sample Tests

Input

100
200
12

Output

129
138
147
156
165
174
183
192

Input

300
400
4

Output

301
310
400

Здравейте, доста забих на тази задача някой може ли да ми даде жокер или подсказка от къде да започна

Здравей,
Прочети внимателно условието на задачата, разгледай какво се случва в input-a и output-а на дадените примери и съм сигурен, че ще се справиш за нула време :slight_smile:
Успех!

Помисли каква е връзката между target number 12 и последващите Outputs:
129
138
147
156
165
174
183
192
веднъж разбереш защо точно тези числа са принтирани - ще го разбереш решението :slight_smile:

Опитай този подход ,сигурен съм ,че ще ви хареса колега :
import java.util.Scanner;

public class ExamNumbers {

// A helper method to compute the sum of digits of a number
public static int sumOfDigits(int n) {
    int sum = 0;
    while (n > 0) {
        sum += n % 10; // add the last digit
        n /= 10; // remove the last digit
    }
    return sum;
}

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    // Read the input
    int x = sc.nextInt(); // interval start
    int y = sc.nextInt(); // interval end
    int t = sc.nextInt(); // target sum

    // Loop through the interval and check each number
    for (int i = x; i <= y; i++) {
        if (sumOfDigits(i) == t) { // if the sum of digits equals the target
            System.out.println(i); // print the exam number
        }
    }

    sc.close();
}

}