埃及最大的金字塔吉萨大金字塔,不仅是古代世界七大奇迹中最古老的一座,而且也是唯一一座保存完好的金字塔。埃及金字塔需要20年的时间才能建成,而且如此之大,以致于伟大的萨拉丁之子阿尔-阿齐兹·奥斯曼( Al-Aziz Uthman ),即粉碎十字军的萨拉丁的儿子,不得不放弃拆除吉萨的金字塔,因为这被认为是一项艰巨的任务。埃及金字塔大多是在古老和中央王国时期(公元前2686年至1690年)为埃及法老及其配偶建造的坟墓,截至2008年,已发现138座埃及金字塔。
其任务是创建一个程序,该程序输入由一个空间分隔的一系列距离,并生成10×10由这些距离分隔的文本金字塔。1的距离等于两个字符。
一个文本金字塔将如下所示:
/\
/--\
/----\
/------\
/--------\
/----------\
/------------\
/--------------\
/----------------\
/------------------\如果输入只包含一个断线,那么就会产生一个金字塔,如上面所示。对于每一座金字塔,左边的金字塔都是在前面显示的。
输入:
4 3 1输出:
/\ /\ /\/\
/--\ /--\ /--\-\
/----\ /----\/----\-\
/------\/------\-----\-\
/--------\-------\-----\-\
/----------\-------\-----\-\
/------------\-------\-----\-\
/--------------\-------\-----\-\
/----------------\-------\-----\-\
/------------------\-------\-----\-\输入:
0 9输出:
/\ /\
/--\ /--\
/----\ /----\
/------\ /------\
/--------\ /--------\
/----------\ /----------\
/------------\ /------------\
/--------------\ /--------------\
/----------------\/----------------\
/------------------\-----------------\输入:
11输出:
/\ /\
/--\ /--\
/----\ /----\
/------\ /------\
/--------\ /--------\
/----------\ /----------\
/------------\ /------------\
/--------------\ /--------------\
/----------------\ /----------------\
/------------------\ /------------------\以最少的字符数量满足这些要求的应用是赢家。
参考资料: Wikipedia.org
发布于 2011-06-01 17:37:11
~]0-:|;10,{:§9\-" "*"/""-"§2**+"\\"+:&|{.§>{§-(2*" "*1$}{-2*&>}if}%n}%我的红宝石溶液的直接端口,所以我相信它可以缩短相当多的字符。
发布于 2011-06-01 17:14:40
d=gets.split-[?0]
10.times{|i|puts [?\s*(9-i),l=?/+?-*2*i+?\\,d.map{|r|i<(r=r.to_i)??\s*2*(r+~i)+l :l[-2*r,99]}]*""}发布于 2011-06-01 18:12:41
N=[10]+map(int,raw_input().split())
for y in range(10):print''.join((2*n*' '+'/'+2*y*'-'+'\ ')[-2*n-1:-1]for n in N)[9-y:]https://codegolf.stackexchange.com/questions/2705
复制相似问题