/*
/* loop
/*
/**/
accept p_base prompt '밑을 입력하세요. : '
accept p_exp prompt '지수를 입력하세요. : '
declare
v_base number(10) := &p_base;
v_exp number(10) := &p_exp;
v_result number(10) := 1;
begin
for i in 1..v_exp loop
v_result := v_result * v_base;
end loop;
dbms_output.put_line(v_result);
end;
/
/*
/* ln() & exp()
/*
/**/
accept p_base prompt '밑을 입력하세요. : '
accept p_exp prompt '지수를 입력하세요. : '
declare
v_base number(10) := &p_base;
v_base_dup number(10) := v_base;
v_exp number(10) := &p_exp;
v_result number(10);
begin
if v_base < 0 then
v_base_dup := v_base_dup * -1;
end if;
v_result := exp(v_exp*ln(v_base_dup));
if v_base < 0 and mod(v_exp, 2) != 0 then
v_result := v_result * -1;
end if;
dbms_output.put_line(v_result);
end;
/
밑이 음수 and 지수가 홀수 인 경우 결과에 -1 을 곱해 음수를 만들어줍니다.
밑을 입력하세요. : 10
지수를 입력하세요. : 3
PL/SQL 처리가 정상적으로 완료되었습니다.
밑을 입력하세요. : -2
지수를 입력하세요. : 3
PL/SQL 처리가 정상적으로 완료되었습니다.
밑을 입력하세요. : -2
지수를 입력하세요. : 4