도전
공장 노동자들은 대개 매우 열심히 일하고 있습니다. 그러나 그들의 작업은 이제 일반적으로 기계로 대체되고 있습니다.
숫자를 입력으로받는 프로그램을 작성해야합니다. 10 명의 공장을 10 번 인쇄합니다. 매번 각 근로자는 1/input'해고'되고 기계로 교체 될 수 있습니다.
입력
STDIN 또는 함수 호출에서 오는 정수입니다.
산출
공장의 경우 10 건, 보통은 더 많은 근로자가 해고 됨.
출력 형식-공장 인쇄 방법
공장은 다음과 같습니다
|0000000000| 또는 |0000011001|
파이프는 벽을 나타내고, 0은 작업자를, 1은 기계를 나타내므로 공장의 첫 번째 인쇄는 항상입니다 |0000000000|.
예
입력 : 10
산출:
|0000000000| //always start off with this
|0000000010| //a 1/10 chance means that this worker lost his job
|0000010010|
|0010010010|
|1010010010|
|1010110010|
|1010110011|
|1010111011|
|1010111111|
|1110111111|
입력 : 5
산출:
|0000000000| //always start here
|0000001001| //a 1/5 chance means that 2 workers got fired
|1000101001|
|1000101111|
|1101101111|
|1111111111| //after achieving all machinery, the machines continue to be printed
|1111111111|
|1111111111|
|1111111111|
|1111111111|
노트
해고 된 노동자의 수는 RANDOM입니다. 제 예제에서는 1/5 chance항상 2 명의 노동자가 해고 될 것이지만 프로그램은 무작위로 (때때로 1 명, 때로는 3 명) 해고 할 확률이 1/5입니다.