using System;
namespace NoNamespace.Task029 {
//Напишите консольное приложение на C#, находящее пару чисел меньше N,
//сумма цифр которых одинакова, и сообщающее, если таких чисел нет
internal class Program {
private static void Main() {
Console.WriteLine("Введите N");
var n = int.Parse(Console.ReadLine());
var sums = new int[n];
sums[0] = 1;
for (var i = 1; i < n; i++) {
sums[i] = NumberSum(i);
}
var found = false;
for (var i = 1; i < n; i++) {
if (sums[i] == 0) continue;
for (var j = i + 1; j < n; j++) {
if (sums[i] != sums[j]) continue;
Console.WriteLine($"Number sum {i} and {j} = {sums[i]}");
found = true;
}
}
if (!found)
Console.WriteLine("Nothing found");
Console.ReadKey();
}
private static int NumberSum(int number) {
var sum = 0;
while (number > 0) {
sum += number % 10;
number = number / 10;
}
return sum;
}
}
}
function ЧислоДелителей(Self: integer): integer;
extensionmethod;
begin
Result := 2; // на себя и на 1 число всегда делится
for var i := 2 to Self div 2 do
if Self mod i = 0 then Inc(Result)
end;
begin
var (НижняяГрапница, ВерхняяГраница) :=
ReadInteger2('Укажите границы диапазона:');
var ТребуетсяДелителей :=
ReadInteger('Укажите количество делителей:');
Range(НижняяГрапница, ВерхняяГраница)
.Where(t -> t.ЧислоДелителей = ТребуетсяДелителей).Count.Print
end.
ПримерУкажите границы диапазона: 35 210Укажите количество делителей: 106