Нотвен хоче вивчити кінематику тіл, викинутих з великої висоти в рівномірному гравітаційному полі, але, на жаль, у нього немає технічної можливості піднятися на досить високі місця і спостерігати за предметами під час падіння. Але хто не хоче бачити досягнення науки, тому ... Допоможемо Нотвену побудувати симулятор тяжіння!
Фізична основа
Предмет опустився з висоти ( без початкової швидкості ) в рівномірному гравітаційному полі, нехтуючи атмосферними ефектами, такими як перетягування або вітер, з часом набирає швидкість і прискорюється до землі. Ця "швидкість зміни" швидкості в одиниці часу називається гравітаційним прискоренням . Біля поверхні Землі вона приблизно дорівнює, але для цілей цього виклику ми будемо використовувати значення , що означає, що за одну секунду об’єкт збільшує свою швидкість приблизно на . Поміркуйте з висотою, що є кратним і уявіть, як розділити цю висоту на рівні проміжки, кожен метрів завдовжки. Notwen хоче виміряти, скільки часу потрібно, щоб об'єкт пройшов через кожен з цих інтервалів, тому саме це ми і прагнемо обчислити. Сучасна кінематика - пропускаючи техніку - говорить нам про те, що:
Змагання
Вхід: Висота з якого викидається об'єкт як: додатне ціле число, кратне о , або кількість інтервалів (так або або означало б це ) - який з вас залежить.
Вихід: Художня анімація ASCII падаючого об'єкта, що впав з висоти (деталі нижче).
Структура вихідного кадру повинна бути такою:
- нові рядки, що передують "землі", представлені щонайменше одним символом, який не є пробілом (наприклад
@
). Принаймні один із символів землі повинен лежати на вертикалі, на яку падає об’єкт. - Ще один непробільний символ, що представляє об'єкт (наприклад
X
), відмінний від вибраного для землі. - За бажанням , символ на початку кожного рядка, що представляє вертикальну вісь або стіну, зроблену налінії. Будь-яка кількість провідних та кінцевих просторів є тонкою, якщо вони узгоджуються між кадрами, а також будь-яка кількість пробілів між стіною та об’єктом. Приклади дійсних кадрів включають 1 (для або ):
| X > | @ > A | > | or or or > | O > | > | > @@@ ^ ----- &&&
Об'єкт повинен починатися в першому рядку першого кадру, потім після вихід повинен бути розмитим, і ваша програма повинна відображати об'єкт на тій же вертикалі, але в наступному рядку у другому кадрі; то післявисновок повинен бути повторно очищений, і ваша програма повинна відображати об'єкт на тій же вертикалі, але в наступному рядку в третьому кадрі і так далі, поки об'єкт не досягне лінії прямо над землею. Приклад:
Правила
- Вихід повинен бути деяким текстом, записаним на інтерактивну (флеш-консоль) консоль, GIF, окремий файл для кожного кадру чи якусь іншу розумну техніку виведення.
- Кожен кадр повинен повністю перезаписати останній кадр і бути в одному місці.
- Ви можете припустити, що час, необхідний для виводу тексту з перекладача / інтерпретатора, незначний, а мінімальна точність, дозволена для обчислення квадратних коренів, становить 2 знаки після коми.
- Ви можете взяти введення та надати вихід за допомогою будь-якого стандартного методу , зауваживши, що ці лазівки за замовчуванням заборонені. Це єкод-гольф, тому спробуйте виконати завдання в найменшій кількості байтів, якими ви зможете керувати на обраній вами мові .
1: Я поблажливий до того, що є дійсним кадром, тому що я хочу дозволити, що найкраще підходить для вашого рішення, і я не намагаюся додати зайвих речей до завдання. Якщо щось незрозуміло, запитайте в коментарях.
chr(27)
?