समस्या
एक धनात्मक पूर्णांक दिया गया है, PL/SQL का उपयोग करके विषम और सम अंकों की गणना करें।
दृष्टिकोण
- संख्या को NUMBER चर में इनपुट करें
- लंबाई के लिए VARCHAR2(50) लें
- विषम और सम काउंट को 0 से आरंभ करें
- 1 से संख्या की लंबाई तक लूप चलाएं
- SUBSTR से प्रत्येक अंक निकालें
- MOD(अंक, 2) != 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
व्याख्या: 23146579 में विषम अंक: 3,1,5,7,9 (5) और सम अंक: 2,4,6 (3)।