首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >埃及金字塔

埃及金字塔
EN

Code Golf用户
提问于 2011-05-31 22:47:16
回答 6查看 1.2K关注 0票数 15

埃及最大的金字塔吉萨大金字塔,不仅是古代世界七大奇迹中最古老的一座,而且也是唯一一座保存完好的金字塔。埃及金字塔需要20年的时间才能建成,而且如此之大,以致于伟大的萨拉丁之子阿尔-阿齐兹·奥斯曼( Al-Aziz Uthman ),即粉碎十字军的萨拉丁的儿子,不得不放弃拆除吉萨的金字塔,因为这被认为是一项艰巨的任务。埃及金字塔大多是在古老和中央王国时期(公元前2686年至1690年)为埃及法老及其配偶建造的坟墓,截至2008年,已发现138座埃及金字塔。

其任务是创建一个程序,该程序输入由一个空间分隔的一系列距离,并生成10×10由这些距离分隔的文本金字塔。1的距离等于两个字符。

一个文本金字塔将如下所示:

代码语言:javascript
复制
         /\
        /--\
       /----\
      /------\
     /--------\
    /----------\
   /------------\
  /--------------\
 /----------------\
/------------------\

如果输入只包含一个断线,那么就会产生一个金字塔,如上面所示。对于每一座金字塔,左边的金字塔都是在前面显示的。

示例I

输入:

代码语言:javascript
复制
4 3 1

输出:

代码语言:javascript
复制
         /\      /\    /\/\
        /--\    /--\  /--\-\
       /----\  /----\/----\-\
      /------\/------\-----\-\
     /--------\-------\-----\-\
    /----------\-------\-----\-\
   /------------\-------\-----\-\
  /--------------\-------\-----\-\
 /----------------\-------\-----\-\
/------------------\-------\-----\-\

示例II

输入:

代码语言:javascript
复制
0 9

输出:

代码语言:javascript
复制
         /\                /\
        /--\              /--\
       /----\            /----\
      /------\          /------\
     /--------\        /--------\
    /----------\      /----------\
   /------------\    /------------\
  /--------------\  /--------------\
 /----------------\/----------------\
/------------------\-----------------\

示例III

输入:

代码语言:javascript
复制
11

输出:

代码语言:javascript
复制
         /\                    /\
        /--\                  /--\
       /----\                /----\
      /------\              /------\
     /--------\            /--------\
    /----------\          /----------\
   /------------\        /------------\
  /--------------\      /--------------\
 /----------------\    /----------------\
/------------------\  /------------------\

以最少的字符数量满足这些要求的应用是赢家。

参考资料: Wikipedia.org

EN

回答 6

Code Golf用户

回答已采纳

发布于 2011-06-01 17:37:11

Golfscript,70个字符

代码语言:javascript
复制
~]0-:|;10,{:§9\-" "*"/""-"§2**+"\\"+:&|{.§>{§-(2*" "*1$}{-2*&>}if}%n}%

我的红宝石溶液的直接端口,所以我相信它可以缩短相当多的字符。

票数 4
EN

Code Golf用户

发布于 2011-06-01 17:14:40

Ruby1.9,116个字符

代码语言:javascript
复制
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]}]*""}
票数 4
EN

Code Golf用户

发布于 2011-06-01 18:12:41

Python,123个字符

代码语言:javascript
复制
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:]
票数 4
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/2705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档