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;
var (НижняяГрапница, ВерхняяГраница) :=
ReadInteger2('Укажите границы диапазона:');
var ТребуетсяДелителей :=
ReadInteger('Укажите количество делителей:');
Range(НижняяГрапница, ВерхняяГраница)
.Where(t -> t.ЧислоДелителей = ТребуетсяДелителей).Count.Print
end.
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