unit

unit

123

create or replace function fib(

   f in varchar2

)return boolean is

str varchar2(100):='';

str1 varchar2(100):='';

cout number := 0;

begin

   str1 := f;

   str1 := upper(replace(str1,' ',''));

   for i in reverse 1..length(str1) loop

           str := str||substr(str1,i,1);

   end loop;

    for i in 1..length(str1) loop

       if(substr(str,i,1)=substr(str1,i,1))

       then cout := cout + 1;

       end if;

    end loop;

return (cout = length(str1));

end;

declare

   res boolean;

   num varchar(100) := 'А роза упала на лапу Азора';

begin

   res := fib(num);

  

   if(SYS.DIUTIL.BOOL_TO_INT(res) = 0)

       then dbms_output.put_line('Не палиндром');

       else dbms_output.put_line('Палиндром');

   end if;   

end;

Report Page