📜  在PL / SQL中等于给定数字的数字总和

📅  最后修改于: 2021-04-29 13:04:06             🧑  作者: Mango

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

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

方法是取一个数字,找到给定范围内的所有可能数字,然后将数字的所有数字相加,如果数字的总和等于该数字,则打印该数字。

下面是其实现:

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