Contar dígitos pares e impares en un número en PL/SQL

Requisito previo : introducción 
a PL/SQL En el código PL/SQL, los grupos de comandos se organizan dentro de un bloque. Un grupo de bloques relacionado con declaraciones o sentencias. En declare part, declaramos variables y entre start y end part, realizamos las operaciones.
Dado un número y la tarea es encontrar el número de dígitos pares e impares presentes en el número. 
 

Ejemplos:  

Input: 123456
Output: Odd digits = 3
        Even digits = 3

Input: 246
Output: Odd digits = 0
        Even digits = 3

El enfoque consiste en tomar un número y verificar uno por uno sus dígitos, si es par o impar.
A continuación se muestra la implementación requerida: 

SQL

--Odd and Even digits in a number
--in PL/SQL
DECLARE
  --num variable declared
  --num assign with a number
  num NUMBER := 123456;
 
  --len variable char declared
  len VARCHAR2(20);
 
  --cntvariable declared
  cnt1 NUMBER(5) := 0;
  cnt2 NUMBER(5) := 0;
BEGIN
 
  --for loop go from 1 to length of the number
  FOR i IN 1..Length(num)
  LOOP
    len := Substr(num, i, 1);
    IF mod(len, 2) != 0 THEN
      cnt1 := cnt1 + 1;
    ELSE
      cnt2:=cnt2+1;
    END IF;
  END LOOP;
  --end loop
 
  dbms_output.Put_line('Odd Digits: '
  || cnt1);
  dbms_output.Put_line('Even Digits: '
  || cnt2);
  --display result
END;
--end program

Producción: 

Odd Digits: 3
Even Digits: 3

Publicación traducida automáticamente

Artículo escrito por jit_t 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 *