Показать сообщение отдельно
Старый 13.01.2016, 17:26   #5 (permalink)
Евгений
Member
 
Аватар для Евгений
 
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
По умолчанию

1. А вот до простого и не дочитал
2. Первый раз слышу, что "var" не употребляется в функциях. Но я слышал, что если функция кроме прямого результата делает ещё что-то, то это очень даже хорошо.

Дописал:
Код:
function Prostoe(aa:integer):boolean;
var  pr:boolean;
      d:integer;
begin
     if aa<1
      then pr:=false
      else
       begin
         pr:=true;
         for d:=2 to (aa div 2) do
          if (aa mod d=0) then
           begin
             pr:=false;
             Break;
           end;
       end;
      Prostoe:=pr;
end;
function Proverka(an:integer; var at:integer):boolean;
var  e,k:Real;
     a:integer;
begin
     e:=0.00001;
      k:=Exp((1/3)*Ln(an));
       if Frac(k)<e
        then
         begin
           a:=Trunc(k);
            if Prostoe(a) then
             begin
               Proverka:=true ;
               at:=a;
             end
         end
        else Proverka:=false;
end;
var  n,t:integer;
begin
      Write('N = ');
       Readln(n);
        Writeln;
     t:=0;
     if Proverka(n,t)
      then Writeln('DA rezultat = ',t,'*',t,'*',t)
      else Writeln('NET');
     Readln;
end.
Евгений вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070