Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m - C#
Формулировка задачи:
11. Даны натуральные числа n,m. Получить все меньшие n натуральные числа, квадрат суммы
цифр которых равен m
Решение задачи: «Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m»
textual
Листинг программы
static int[] SplitToDigits(int n)
{
List<int> digits = new List<int>();
do
{
digits.Add(n % 10);
n /= 10;
} while (n != 0);
return digits.ToArray();
}
static int Sum(int[] arr)
{
int sum = 0;
foreach (int i in arr)
sum += i;
return sum;
}
static void Main(string[] args)
{
const int N = 10000;
const int M = 4;
for (int i = 0; i < N; ++i)
{
int digitsSum = Sum(SplitToDigits(i));
if (digitsSum * digitsSum == M)
{
Console.WriteLine(i);
}
}
}
}