該任務要求編寫打印Sierpinski三角形的程序。 期望的結果是這樣的:打印Sierpinski三角形
#
##
# #
####
# #
## ##
# # # #
########
# #
## ##
# # # #
#### ####
# # # #
## ## ## ##
# # # # # # # #
################
# #
## ##
# # # #
#### ####
# # # #
## ## ## ##
# # # # # # # #
######## ########
# # # #
## ## ## ##
# # # # # # # #
#### #### #### ####
# # # # # # # #
## ## ## ## ## ## ## ##
# # # # # # # # # # # # # # # #
################################
這是我的嘗試:
declare
v_str varchar2(10) := '#';
n NUMBER := 4;
begin
for i in 1..n loop
v_str := rpad(v_str, i, '#');
for l in 1..8 loop
v_str := rpad(v_str, l, v_str);
dbms_output.put_line(v_str);
end loop;
end loop;
end;
正如你所看到的,我沒有得到預期的結果,我想。問題是我不知道要在三角形內留出空位。我的想法是做一個變量,其中包含此:
#
##
# #
####
然後把它放在1..8循環。我在代碼中寫下了一些麻煩。任何建議/提示?謝謝!
你提出了一個類似的問題已經在這裏:https://stackoverflow.com/questions/46728915/printing-an-alphabet-pyramid-in-pl-sql - 看起來你有相當「特殊」的老師......你的老師是否喜歡你學習編程PL/SQL或算法? –
嗨@WernfriedDomscheit。我的老師正在教我PL/SQL和數據庫。剛剛兩週前開始跟他學習,但他提出了很多棘手的問題。 – Chopsticks