Найти все числа из интервала [A;B], у которых сумма квадратов всех его делителей четная - C#
Формулировка задачи:
Используя несколько вложенных циклов, решите приведенные ниже задачи.На множестве натуральных чисел от A до B найти все числа, для которых сумма квадратов всех его делителей есть число четное. Например, число 77 (делители 1, 7, 11, 77; 12 + 72 + 112 + 772 = 6100). Если таких чисел найти не удалось, то вывести об этом соответствующее сообщение.
Решение задачи: «Найти все числа из интервала [A;B], у которых сумма квадратов всех его делителей четная»
textual
Листинг программы
private List<int> GetList(int a, int b)
{
var result = new List<int>();
for (int i = a; i <= b; i++)
{
var deliteli = new List<int>();
for (int j = 1; j <= i; j++)
{
if (i % j == 0) deliteli.Add(j);
}
int summa = 0;
foreach (var delitel in deliteli)
{
summa = summa + (int)Math.Pow(delitel, 2);
}
if (summa % 2 == 0) result.Add(i);
}
return result;
}
//вызов
var list = GetList(1, 10);
string str = "";
if (list.Count == 0) MessageBox.Show("Ничего не найдено!");
else
{
foreach (var item in list)
{
str = str + item + ", ";
}
MessageBox.Show(str);
}