PL/SQL中等于给定数字的数字之和

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

null

给定一个数字和范围,任务是显示所有数字之和等于给定数字的数字。 例如:

输入:x=23 产出:599 689 698 779 788 797 869 878 887 896 959 968 977 986 995 (注意:范围->1到999)

输入:x=12 产出:39485766758493 (注意:范围->1到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 

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享