Напишите бессрочно работающую программу, которая сообщает, сколько экземпляров себя в данный момент запущено. Каждый экземпляр программы должен также сообщать порядок, в котором она была открыта из всех других запущенных в данный момент экземпляров.
пример
Пользователь запускает программу в первый раз - мы назовем этот экземпляр 1. Экземпляр 1 отображается 1/1, потому что это первый экземпляр, который будет запущен из 1 запущенных в данный момент экземпляров.
Во время работы Экземпляра 1 пользователь запускает программу второй раз, чтобы стать Экземпляром 2. Теперь отображается Экземпляр 1 1/2, являющийся первым экземпляром из 2 запущенных в данный момент экземпляров. Экземпляр 2 отображается 2/2, потому что это второй экземпляр из 2 запущенных в данный момент экземпляров.
Допустим, пользователь продолжает порождать больше экземпляров, пока их не станет 5 . Для запуска, их выходы: 1/5 2/5 3/5 4/5 5/5.
Теперь, скажем, пользователь решает прекратить Экземпляр 3. Затем Экземпляр 4 становится новым Экземпляром 3, а Экземпляр 5 - новым Экземпляром 4, потому что они соответственно являются третьим и четвертым экземплярами, которые были запущены из того, что сейчас составляет 4. экземпляров. Таким образом, изменение каждого экземпляра в выводе будет следующим:
1/5→1/42/5→2/43/5→ (прекращено)4/5→3/45/5→4/4
правила
- Вы можете вывести два числа (номер экземпляра, общее количество экземпляров) в любом приемлемом формате.
- Каждый раз, когда экземпляр запускается или завершается, все остальные экземпляры должны обновить свои соответствующие выходные данные в течение 100 миллисекунд.
- Если вы решите обновить вывод, печатая на новую строку (или другой «добавляющий» формат вывода; в отличие от замены), вы должны печатать только при изменении количества экземпляров, а не в любое другое время.
- Это код гольф. Самая короткая программа в байтах побеждает.
- В своем ответе вам предлагается указать, что пользователь должен сделать, чтобы открыть более одного экземпляра, и / или записать скринкаст для демонстрации.
