该任务要求编写打印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