先决条件– PL / SQL简介
在PL / SQL代码中,命令组在一个块内排列。与块组相关的声明或语句。在声明部分,我们声明变量,在开始和结束部分之间,我们执行操作。
给定一个数字和范围,任务是显示所有数字总和等于给定数字的数字。
例子:
Input: x = 23
Output: 599 689 698 779 788 797 869 878 887 896 959 968 977 986 995
(Note: range->1 to 999)
Input: x=12
Output: 39 48 57 66 75 84 93
(Note: range->1 to 100)
方法是取一个数字,找到给定范围内的所有可能数字,然后将数字的所有数字相加,如果数字的总和等于该数字,则打印该数字。
下面是其实现:
--Take a number
--sum all digit of the number
--if sum digit is 25
--then display all
--Declaration block
DECLARE
--declare N variable
n NUMBER;
--declare B variable
m NUMBER;
--declare S variable
--S initialize with 0
s NUMBER := 0;
BEGIN
--Code block
--loop run until max 999 to min 1
FOR i IN 1..999 LOOP
n := i;
WHILE n > 0 LOOP
--logic of digit sum
m := MOD(n, 10);
s := s + m;
n := Trunc(n / 10);
END LOOP;
IF s = 25 THEN
--digit sum to be same with 25
--Display in result
dbms_output.Put_line(i
||' ');
END IF;
s := 0;
END LOOP;
--end loop
END;
--end program
输出:
799
889
898
979
988
997