고양이는 다시 입력을 먹었다! 프로그램 인 고양이 프로그램을 만듭니다. … 단,

입력을 받아서 인쇄하는 프로그램 인 고양이 프로그램을 만듭니다.

… 단, 프로그램은 입력에서 임의로 문자를 가져 와서 대신 인쇄합니다.

입력의 각 문자는 일반적으로 프로그램과 함께 제거 될 확률이 같아야하지만 각 문자의 확률은 최대 10 %까지 달라질 수 있습니다.

프로그램은 입력을받은 다음 입력에서 문자를 무작위로 제거한 다음 해당 버전을 다시 인쇄해야합니다. 언어에서 줄 바꿈을 인쇄해야 할 경우 후행 줄 바꿈 또는 다른 문자로 인쇄 할 수 있습니다.

입력이 BOOOWL인 경우 모든 기회를 동일한 확률로 모든 Os를 제거해서는 안됩니다. 각 문자 (고유하지 않음)를 고려해야하므로 모든 O가 1/5 확률 (예 :)을 갖는 대신 각 O는 1을 가져야합니다 / 5 기회, 그래서 대신에 거기의 1/5 기회 BWL의 1/5 기회가 있어야한다, BOWL, BOOWL.

입력이 STDIN 또는 가장 근접한 것으로 제한됩니다.

각 캐릭터 최소 10 %, 최대 30 %의 확률로 제거해야합니다.

각 캐릭터의 확률은 개별적으로 계산되어야합니다.

임의의 동작을 지원하는 언어의 모든 구성 요소를 사용할 수 있습니다 (기능 또는 다른 것).

출력은 STDOUT 또는 가장 가까운 값을 통해 이루어져야합니다. 언어에 STDOUT이 있으면 다른 방법으로 출력하지 마십시오. 언어에서 문자열을 텍스트로 출력 할 수없는 경우 가장 가까운 것을 사용하십시오 (여기서 C의 문자 배열 출력은 OK 임).

이것은 코드 골프입니다. 최단 프로그램이 이깁니다.



답변

Japt -f , 2 바이트

-f플래그 “는 truthy 값을 반환 것들의 배열을 출력하는 제 입력의 각 요소에 프로그램을 실행합니다.” 0 (포함)과 5 (제외) 사이의 난수를 반환합니다. JavaScript와 마찬가지로 Japt에서는 0이 잘못되었습니다.

시도 해봐


답변

파이썬 3 , 63 바이트

from random import*
for c in input():print(end=c[random()<.2:])

온라인으로 사용해보십시오!

파이썬 2 , 67 65 바이트

from random import*
print''.join(c for c in input()if.8>random())

온라인으로 사용해보십시오!

각 캐릭터는 20 % 확률로 꿀벌을 떨어 뜨립니다.

다른 접근 방식, 동일한 길이 :

from random import*
print''.join(c[random()<.2:]for c in input())

온라인으로 사용해보십시오!


답변

, 4 바이트

ΦS‽⁵

온라인으로 사용해보십시오! 링크는 자세한 버전의 코드입니다. 설명:

 S      Input a string
Φ       Filter where nonzero
  ‽⁵    Random number 0..4
        Implicitly print

당신은에서 어떤 번호를 사용할 수 있습니다 410의 기회를 얻을 수 25%10%각각있다.


답변

Befunge-98 (PyFunge) , 11 바이트

>#@~3j4???,

온라인으로 사용해보십시오!

각 캐릭터는 25 % 확률로 제거됩니다. 이 결정은 세 가지 ?지침 에서 이루어집니다 .

?프로그램 카운터를 동일한 확률로 네 방향 중 하나로 설정합니다. 이 경우 위와 아래로 같은 명령으로 다시 돌아가므로 옵션으로 무시할 수 있습니다.

?s 의 숲 에는 오른쪽 (출력)과 왼쪽 (출력 없음)의 두 가지 방법이 있습니다 . 이러한 상황 때문에, 중간에서 시작하는 경우, 대칭 ?하는가

2=1/2

출력 기회. 오른쪽부터 출력하는 경우의 확률 ?이고

=1/21+1/22=/4

. 따라서 문자를 읽은 후 가장 오른쪽으로 ?이동하여 출력 여부를 결정합니다.


답변

옥타브 , 23 바이트

입력과 같은 크기의 배열을 생성하고 (옥타브의 문자열은 문자 배열 임) 각 난수보다 큰지 여부를 0.2확인한 다음 논리 색인을 사용하여 해당 위치에서 문자를 추출합니다.

@(s)s(rand(size(s))>.2)

온라인으로 사용해보십시오!


답변

젤리 , 9 5 바이트

5X’µƇ

온라인으로 사용해보십시오!

젤리 문자열을 인수로 받아서 처리 된 젤리 문자열을 반환하는 모나드. 전체 프로그램으로 사용될 경우 출력을 내재적으로 인쇄합니다. 각 캐릭터는 20 % 확률로 제거됩니다.

설명

   µƇ | Filter using the following as a monad for each character:
5X    | - Random number between 1 and 5
  ’   | - Decreased by 1


답변

Japt , 3 바이트

각 캐릭터는 5 분의 1의 확률로 제거됩니다. 는 5사이에 아무것도 변경 될 수 있습니다 49, 포함, 또는 A에 대한 10확률을 변경합니다.

Æ5ö

시도 해봐

Æ5ö     :Implicit input of string
Æ       :Filter by
 5ö     :  Random integer in the range [0,5), with 0 being falsey