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 n y la tarea es encontrar el n-ésimo número triangular centrado . Un número triangular centrado es un número centrado que representa un triángulo con un punto en el centro y todos los demás puntos que rodean el centro en capas triangulares sucesivas.
Ejemplos:
Input: n = 6 Output: 64 Input: n = 10 Output: 166
Las primeras series numéricas triangulares centradas son:
1, 4, 10, 19, 31, 46, 64, 85, 109, 136, 166, 199, 235, 274, 316, 361, 409, 460……… ;……………
Enfoque
n-ésimo Término del número triangular centrado viene dado por:
A continuación se muestra la implementación requerida:
--PL/SQL Program to find the nth Centered triangular number -- declaration section DECLARE x NUMBER; n NUMBER; --utility function FUNCTION Centered_triangular_num(n IN NUMBER) RETURN NUMBER IS z NUMBER; BEGIN --formula applying z := (3 * n * n + 3 * n + 2) / 2; RETURN z; END; --driver code BEGIN n := 3; x := centered_triangular_num(n); dbms_output.Put_line(x); n := 12; x := centered_trigunal_num(n); dbms_output.Put_line(x); END; --End of program
Producción:
19 235
Referencias:
https://en.wikipedia.org/wiki/Centered_triangular_number