Comprobar si un número es palíndromo en PL/SQL

Dado un número entero, escribe una función que devuelva verdadero si el número dado es palíndromo, de lo contrario, falso. Por ejemplo, 12321 es palíndromo, pero 1451 no es palíndromo.

Sea el número dado num. Un método simple para este problema es invertir primero los dígitos de num, luego comparar el reverso de num con num. Si ambos son iguales, devuelve verdadero, de lo contrario, falso.

Ejemplos:

Input : 12221
Output : true

Input : 12345
Output : false

A continuación se muestra la implementación requerida:

declare
  
-- declare variable n, m, temp 
-- and temp of datatype number
    n number;
    m number;
    temp number:=0;
    rem number;
   
begin
    n:=5432112345;
    m:=n;
      
    -- while loop with condition till n>0
    while n>0
    loop
        rem:=mod(n,10);
        temp:=(temp*10)+rem;
        n:=trunc(n/10);
    end loop; -- end of while loop here
      
    if m = temp
    then
        dbms_output.put_line('true');
    else
        dbms_output.put_line('false');
    end if;
end;
/
  
-- Program End

Producción:

true

Publicación traducida automáticamente

Artículo escrito por vt_m y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *