В этой статье блога мы углубимся в различные методы вычисления суммы целых чисел в PL/SQL, процедурном языке, используемом для программирования баз данных в Oracle. Мы предоставим примеры кода для каждого метода, что позволит вам выбрать подход, который наилучшим образом соответствует вашим требованиям. Давайте начнем!
Метод 1: использование цикла
Один из самых простых способов вычисления суммы целых чисел — использование цикла. Вот пример:
DECLARE
n NUMBER := &input_number;
i NUMBER := 1;
sum NUMBER := 0;
BEGIN
WHILE i <= n LOOP
sum := sum + i;
i := i + 1;
END LOOP;
DBMS_OUTPUT.PUT_LINE('The sum of integers from 1 to ' || n || ' is: ' || sum);
END;
/
Метод 2: использование функции SUM
PL/SQL предоставляет функцию SUM для вычисления суммы набора значений. Вот пример:
DECLARE
n NUMBER := &input_number;
sum NUMBER;
BEGIN
SELECT SUM(level) INTO sum FROM DUAL CONNECT BY LEVEL <= n;
DBMS_OUTPUT.PUT_LINE('The sum of integers from 1 to ' || n || ' is: ' || sum);
END;
/
Метод 3: использование формулы Гаусса
Если вам нужно вычислить сумму последовательного диапазона целых чисел, вы можете использовать формулу Гаусса. Вот пример:
DECLARE
n NUMBER := &input_number;
sum NUMBER;
BEGIN
sum := (n * (n + 1)) / 2;
DBMS_OUTPUT.PUT_LINE('The sum of integers from 1 to ' || n || ' is: ' || sum);
END;
/
Метод 4: использование рекурсивных подпрограмм
В PL/SQL вы можете использовать рекурсивные подпрограммы для вычисления суммы целых чисел. Вот пример:
DECLARE
FUNCTION calculate_sum(n NUMBER) RETURN NUMBER IS
BEGIN
IF n = 0 THEN
RETURN 0;
ELSE
RETURN n + calculate_sum(n - 1);
END IF;
END;
n NUMBER := &input_number;
sum NUMBER;
BEGIN
sum := calculate_sum(n);
DBMS_OUTPUT.PUT_LINE('The sum of integers from 1 to ' || n || ' is: ' || sum);
END;
/