📜  PL/SQL 中的居中三角形数

📅  最后修改于: 2022-05-13 01:55:25.696000             🧑  作者: Mango

PL/SQL 中的居中三角形数

先决条件——PL/SQL介绍
在 PL/SQL 代码中,命令组被安排在一个块中。块组相关的声明或语句。在声明部分,我们声明变量,在开始和结束部分之间,我们执行操作。

给定n,任务是找到第n个中心三角形数。居中的三角形数是一个居中的数,它表示一个三角形,中心有一个点,所有其他点在连续的三角形层中围绕该中心。
例子:

Input: n = 6 
Output: 64

Input: n = 10
Output: 166

前几个中心三角形数列是:
1, 4, 10, 19, 31, 46, 64, 85, 109, 136, 166, 199, 235, 274, 316, 361, 409, 460…………………… …

方法
中心三角形数的第 n 项由下式给出:

 CT_{n}=(3n^2+3n+2)/2

以下是所需的实现:

--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

输出:

19
235

参考:
https://en.wikipedia.org/wiki/Centered_triangular_number