Задача
Задача из сборника задач по программированию Абрамова С.А. 2000 г.
Даны натуральные числа $n$, $m$. Получить все меньшие натуральные числа, квадрат суммы цифр которых равен $m$.
Входные данные
Два положительных числа $n$ и $m$.
Выходные данные
Все целые числа из $\left ( 0, n \right )$, удовлетворяющие условию.
Тесты
| Входные данные | Выходные данные | 
| $1234 \ 9$ | $3 \ 12 \ 21 \ 30 \ 102 \ 111 \ 120 \ 201 \ 210 \ 300 \ 1002 \ 1011 \ 1020 \ 1101 \ 1110 \ 1200$ | 
| $100 \ 4$ | $2 \ 11 \ 20$ | 
| $49 \ 49$ | $7 \ 16 \ 25 \ 34 \ 43$ | 
| $1000 \ 1$ | $1 \ 10 \ 100$ | 
Код программы
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import java.util.Scanner; public class Main { 	public static void main (String[] args) { 		Scanner scanner = new Scanner(System.in); 		int n = scanner.nextInt(); 		int m = scanner.nextInt(); 		for(int i=1; i<n; i++) { 			int a=i; 			int sum=0; 			while(a!=0) { 				sum+=a%10; 				a/=10; 			} 			if(sum*sum==m) 				System.out.print(i+" "); 		} 	} } | 
Решение задачи
Находим сумму цифр каждого числа от $1$ до $n$, проверяя равняется ли эта сумма, возведенная в квадрат, числу $m$. В случае положительного ответа, выводим число, сумму цифр которого мы проверяли.
Ссылки
Условие задачи (страница 135)
Код решения
