诺特温想研究在均匀重力场中从高处抛出的物体的运动学,但是不幸的是,他没有技术上的可能性去足够高的地方并在跌落时观察物体。但是谁不想看到科学的进步,那么……让我们来帮助Notwen建立一个重力模拟器吧!
物理背景
物体从高处掉落 (没有初始速度)在均匀的引力场中,而忽略了诸如风阻或风等大气影响,会获得速度并随着时间的推移而加速向地面移动。单位时间内速度的这种“变化率”称为重力加速度。在地球表面附近,它大约等于,但出于此挑战的目的,我们将使用该值 ,意味着一秒钟内一个物体的速度增加了大约 。考虑身高,是的倍数 并想象将那个高度分成相等的间隔,每个间隔 米长。Notwen想要测量物体落入每个间隔所需的时间,因此这也是我们要计算的目标。现代运动学 -跳过技术知识-告诉我们:
挑战
输入:高度 从哪个对象抛出该对象:的正整数倍 , 或间隔数 (所以 要么 意味着 )–哪个取决于您。
输出:坠落物体的ASCII艺术动画,从高处掉落 (详细信息如下)。
输出帧的结构必须如下:
- 在“地面”之前的换行符,由至少一个非空白字符(例如
@
)表示。地面上的至少一个字符必须位于物体落在的垂直线上。 - 另一个非空白字符代表对象(例如
X
),而不是您为地面选择的字符。 - 可选地,每行开头的字符代表垂直轴或在其上制成的墙线。只要在框架之间保持一致,并且在墙壁和物体之间有任何间距,任何大小的前后间距都可以。有效帧的示例包括1(用于 要么 ):
| X > | @ > A | > | or or or > | O > | > | > @@@ ^ ----- &&&
对象必须从第一帧的第一行开始,然后在 输出应该被刷新,并且您的程序应该在相同的垂直方向上但在第二帧的下一行上显示对象;然后输出应再次刷新,并且程序应在相同的垂直方向上显示该对象,但在第三帧的下一行上以此类推,以此类推,直到该对象到达地面上方的那一行为止。例:
规则
- 输出应该是一些写入交互式(可冲洗)控制台的文本,一个GIF,每帧的单独文件或某种其他合理的输出技术。
- 每个帧应完全覆盖最后一个帧,并且应位于同一位置。
- 您可以假设编译器/解释器输出文本所需的时间可以忽略不计,并且计算平方根所允许的最小精度为2个小数位。
- 您可以通过任何标准方法进行输入并提供输出,同时请注意,默认情况下,这些漏洞是禁止的。这是代码高尔夫球,因此请尝试以您可以选择的语言管理的最少字节来完成任务。
1:我对有效框架的构成很宽容,因为我想允许任何最适合您解决方案的东西,而我并不想在挑战中添加多余的内容。如果不清楚,请在评论中提出。
chr(27)
吗?