Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

PL/SQL에서 숫자의 홀수 및 짝수 숫자 세기

<시간/>

양의 정수가 주어지고 PL/SQL을 사용하여 숫자의 홀수 및 짝수 자릿수를 계산합니다.

PL/SQL은 SQL과 프로그래밍 언어의 절차적 기능의 조합입니다. SQL의 기능을 향상시키기 위해 90년대 초 Oracle Corporation에서 개발했습니다.

PL/SQL은 SQL 자체 및 Java와 함께 Oracle Database에 내장된 3가지 핵심 프로그래밍 언어 중 하나입니다.

입력 - 정수 =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)

    로 설정합니다.
  • 이제 IF 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