Требуется написать программу, которая среди целых чисел ищет число с простым количеством различных делителей (количество делителей — простое число) и максимальной суммой цифр числа. Выберите функции, которые могут быть использованы при решении этой задачи. function f1(n: Integer): Integer; var count, i: Integer; begin count := 0; for i := 1 to Trunc(Sqrt(n)) do begin if n mod i = 0 then begin count := count + 1; if n div i <> i then begin count := count + 1; end; end; end; f:= count; end; function f2(n: Integer): Boolean; var i: Integer; begin for i := 2 to Trunc(Sqrt(n)) do begin if n mod i = 0 then begin f:= False; Exit; end; end; f:= True; end; function f3(a, b: Integer): Integer; begin if a > b then f:= a else f:= b; end; function f4(n: Integer): Integer; var p, digit: Integer; begin p:= 0; while n <> 0 do begin digit := n mod 10; p:= p + digit; n := n div 10; end; f := p; end; function f5(n: Integer): Integer; var p, digit: Integer; begin p:= 1; while n <> 0 do begin digit := n mod 10; p:= p * digit; n := n div 10; end; f := p; end; function f6(n: Integer): Integer; var count, i: Integer; begin count := 0; for i := 1 to Trunc(Sqrt(n)) do begin if n mod i = 0 and i mod 2 = 0 then begin count := count + 1; if n div i <> i then begin count := count + 1; end; end; end; f:= count; end; function f7(n: Integer): Boolean; var p, digit: Integer; begin p:= 0; while n <> 0 do begin digit := n mod 10; p:= p + digit; n := n div 10; end; if p mod 2 = 0 then f := True else f := False; end;
Задание

Требуется написать программу, которая среди целых чисел ищет число с простым количеством различных делителей \(количество делителей — простое число\) и максимальной суммой цифр числа.

Выберите функции, которые могут быть использованы при решении этой задачи.

  • function f1\(n: Integer\): Integer;
    var
    count, i: Integer;
    begin
    count := 0;
    for i := 1 to Trunc\(Sqrt\(n\)) do begin
    if n mod i = 0 then begin
    count := count + 1;
    if n div i <> i then begin
    count := count + 1;
    end;
    end;
    end;
    f:= count;
    end;
  • function f2\(n: Integer\): Boolean;
    var
    i: Integer;
    begin
    for i := 2 to Trunc\(Sqrt\(n\)) do begin
    if n mod i = 0 then begin
    f:= False;
    Exit;
    end;
    end;
    f:= True;
    end;
  • function f3\(a, b: Integer\): Integer;
    begin
    if a > b then
    f:= a
    else
    f:= b;
    end;
  • function f4\(n: Integer\): Integer;
    var
    p, digit: Integer;
    begin
    p:= 0;
    while n <> 0 do
    begin
    digit := n mod 10;
    p:= p + digit;
    n := n div 10;
    end;
    f := p;
    end;
  • function f5\(n: Integer\): Integer;
    var
    p, digit: Integer;
    begin
    p:= 1;
    while n <> 0 do
    begin
    digit := n mod 10;
    p:= p * digit;
    n := n div 10;
    end;
    f := p;
    end;
  • function f6\(n: Integer\): Integer;
    var
    count, i: Integer;
    begin
    count := 0;
    for i := 1 to Trunc\(Sqrt\(n\)) do begin
    if n mod i = 0 and i mod 2 = 0 then begin
    count := count + 1;
    if n div i <> i then begin
    count := count + 1;
    end;
    end;
    end;
    f:= count;
    end;
  • function f7\(n: Integer\): Boolean;
    var
    p, digit: Integer;
    begin
    p:= 0;
    while n <> 0 do
    begin
    digit := n mod 10;
    p:= p + digit;
    n := n div 10;
    end;
    if p mod 2 = 0 then f := True
    else f := False;
    end;