Computer >> Máy Tính >  >> Lập trình >> MySQL

Đếm các chữ số chẵn và lẻ trong một số trong PL / SQL

Chúng tôi được cung cấp một số nguyên dương gồm các chữ số và nhiệm vụ là tính số lượng các chữ số chẵn và lẻ trong một số bằng cách sử dụng PL / SQL.

PL / SQL là sự kết hợp của SQL cùng với các tính năng thủ tục của ngôn ngữ lập trình. Nó được phát triển bởi Tập đoàn Oracle vào đầu những năm 90 để nâng cao khả năng của SQL.

PL / SQL là một trong ba ngôn ngữ lập trình chính được nhúng trong Cơ sở dữ liệu Oracle, cùng với chính SQL và Java.

Đầu vào - số int =23146579

Đầu ra

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

Giải thích - Trong dãy số đã cho ta có 2, 4, 6 là chữ số chẵn nên số chữ số chẵn trong một số là 3 và ta có 3, 1, 5, 7, 9 là chữ số lẻ nên đếm được các chữ số lẻ trong a số là 5.

Đầu vào - số int =4567228

Đầu ra

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

Giải thích - Trong dãy số đã cho ta có 5 và 7 là chữ số lẻ nên số chữ số lẻ trong một số là 2 và ta có 4, 6, 2, 2 và 8 là chữ số chẵn nên số chữ số chẵn trong một số là 5.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Nhập một số vào biến kiểu số nguyên của kiểu dữ liệu NUMBER được sử dụng trong PL / SQL.

  • Lấy độ dài của loại VARCHAR (50) mô tả độ dài kích thước tối đa có thể lưu trữ.

  • Lấy hai biến làm số đếm cho các chữ số lẻ và đếm cho các chữ số chẵn và ban đầu đặt chúng thành 0

  • Bắt đầu Vòng lặp Đối với từ 1 đến hết độ dài trong khi chuyển một số cho nó

  • Bên trong vòng lặp, đặt độ dài là substr (số, i, 1)

  • Bây giờ, hãy kiểm tra IF mod có độ dài bằng 2 không bằng 0 rồi tăng số lượng các chữ số lẻ trong một số

  • Nếu không, hãy tăng số lượng các chữ số chẵn trong một số

  • In kết quả.

Ví dụ

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;

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

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