+-+ +-+ | | +-+ +-+ | | | | | | | | +-+ +-+ +-+ ++
ASCIIville人民正在重建他们的城市并草拟新的蓝图。您的工作是根据所需的建筑物来绘制新城市。
输入将是有多少座建筑物。每个建筑物的高度是输入值的一半(如果是奇数,则四舍五入),不包括建筑物的顶部和底部。
让我们画一个基本的例子 4
+-+ +-+ +-+ ++ | | | | | | | | | | | | | | | | +-+ +-+ +-+ ++
如您在此处看到的,|
由于输入为四个,所以每座建筑物中都有两个。但是有一个陷阱!(这意味着上面的示例是不正确的,而本文顶部的示例是4 的实际输出)
对于不是素数的每栋建筑物,其高度都会降低一个。如果该数量整除3,5,或10,它会下沉一个。如果它可以被两个或多个这些数字整除,则扣除的金额相加(10被10和5整除,它不是质数,因此被3减去)。
让我们看一个输入为 5
。
+-+ +-+ | | +-+ +-+ +-+ | | | | | | | | | | | | | | | | | | | | +-+ +-+ +-+ +-+ +-+
这是一个例子 7
+-+ +-+ +-+ | | +-+ +-+ +-+ | | | | | | | | | | | | +-+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-+ +-+ +-+ +-+ +-+ +-+ +-+
还有一个例子 10
+-+ +-+ +-+ | | +-+ +-+ +-+ | | +-+ | | | | | | | | | | +-+ | | | | +-+ | | | | | | | | | | | | | | | | | | +-+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-+ +-+ +-+ +-+-+ +-+ +-+ +-+ +-+ +-+
然后回到 6
+-+ +-+ | | +-+ +-+ +-+ | | | | | | | | | | +-+ | | | | | | | | | | | | +-+ +-+ +-+ +-+ +-+ +-+
规则:
- 如果扣除的数字太大,以至于其高度小于或等于零,则不会显示该数字,但会留出一个空格(我不相信这是可能的,
6
我发现这是最接近零的数字) 。 - 允许尾随空格。
- 每个建筑物的宽度必须为2。
- 您的输入可以来自stdin或编码到程序中。
- 您的程序必须是完整程序,没有功能。
- 您的程序必须能够构建4-15个版本。不需要0-3和负数,也没有指定负数做任何事情,这意味着它们可以引发错误,打印垃圾或什么都不做。
@isaacg是的!刚刚修复
—
阶段
1不是质数。从示例中,如果(基于1的)索引是复合索引而不是非素数,则看起来您要从高度中减去1。
—
丹尼斯
请注意,标准的80个字符的控制台窗口仅可容纳16座建筑物,这可能会使20座建筑物的需求有点难看。
—
Hand-E-Food
@ Hand-E-Food感谢您提及!我已对其进行了更改,因此您将建筑物重新排列。
—
阶段
@丹尼斯我不确定是否要进行斐波那契数或素数运算,因此该数保持不变。刚刚修复!
—
阶段