在PL / SQL中计算数字中的奇数和偶数

我们给定一个正整数数字,任务是使用PL / SQL计算数字中奇数和偶数的计数。

PL / SQL是SQL与编程语言的过程功能的组合。它是由Oracle Corporation在90年代初开发的,目的是增强SQL的功能。

PL / SQL与SQL本身和Java一样,是Oracle数据库中嵌入的三种主要编程语言之一。

输入-整数= 23146579

输出结果 

count of odd digits in a number are : 5
count of even digits in a number are : 3

说明-在给定的数字中,我们有2、4、6作为偶数,因此数字中的偶数计数为3,而我们有3、1、5、7和9作为奇数,因此计数中的奇数一个数字是5。

输入-整数= 4567228

输出结果 

count of odd digits in a number are : 2
count of even digits in a number are : 5

说明-在给定的数字中,我们有5和7作为奇数,因此数字中的奇数计数为2,而我们有4、6、2、2和8作为偶数,因此对数字中的偶数进行计数是5。

以下程序中使用的方法如下

  • 在PL / SQL中使用的数据类型为NUMBER的整数类型变量中输入数字。

  • 采用VARCHAR(50)类型的长度,该长度描述可以存储的最大大小长度。

  • 取两个变量作为奇数位的计数和偶数位的计数,并将它们初始设置为0

  • 从1开始循环直到长度,同时向其传递数字

  • 在循环内部,将长度设置为substr(number,i,1)

  • 现在,检查长度为2的IF mod不等于0,然后增加数字中奇数的计数

  • 否则,增加数字中偶数的数量

  • 打印结果。

示例

DECLARE
   digits NUMBER := 23146579;
   length VARCHAR2(50);
   count_odd NUMBER(10) := 0;
   count_even NUMBER(10) := 0;
BEGIN
   FOR i IN 1..Length(digits)
   LOOP
      length := Substr(digits, i, 1);
      IF mod(length, 2) != 0 THEN
         count_odd := count_odd + 1;
      ELSE
         count_even := count_even + 1;
      END IF;
   END LOOP;
   dbms_output.Put_line('count of odd digits in a number are : ' || count_odd);
   dbms_output.Put_line('count of even digits in a number are : ' || count_even);
END;

输出结果

如果我们运行上面的代码,它将生成以下输出-

count of odd digits in a number are : 5
count of even digits in a number are : 3