Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Đếm chữ số chẵn lẻ trong một số nguyên bằng PL/SQL

Giới thiệu

PL/SQL (Procedural Language/SQL) là ngôn ngữ thủ tục của Oracle Database, kết hợp SQL với các cấu trúc lập trình (vòng lặp, điều kiện, biến). Bài toán: đếm số chữ số chẵn và lẻ trong một số nguyên dương.

Thuật toán

  1. Nhập số vào biến digits (kiểu NUMBER).
  2. Duyệt qua từng chữ số bằng vòng lặp FOR i IN 1..LENGTH(digits).
  3. Lấy chữ số tại vị trí i bằng SUBSTR(digits, i, 1).
  4. Kiểm tra chẵn/lẻ bằng MOD(so, 2).
  5. Tăng biến đếm tương ứng.
  6. In kết quả bằng DBMS_OUTPUT.PUT_LINE.

Code PL/SQL

DECLARE
    digits NUMBER := 23146579;
    len VARCHAR2(50);
    count_odd NUMBER(10) := 0;
    count_even NUMBER(10) := 0;
BEGIN
    FOR i IN 1..LENGTH(digits) LOOP
        len := SUBSTR(digits, i, 1);
        IF MOD(len, 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;

Kết quả

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

Giải thích: Số 23146579 có chữ số lẻ: 3,1,5,7,9 (5 số); chẵn: 2,4,6 (3 số).

Ví dụ 2: Input 4567228 → Odd: 2 (5,7), Even: 5 (4,6,2,2,8).