만돌린 퀴네


25

다른 모든 문자를 제거 할 수있는 quine ...을 작성하면 여전히 유효한 quine입니다. 첫 번째 또는 두 번째 문자에서 문자 제거를 시작할지 여부를 지정할 수 있습니다.

채점 기준 (총 백분율에 대한 보너스 / 완전히 백분율 추가) :

  • 답은 4 자 이상이어야합니다
  • 프로그램은 소스에 하나 이상의 영문자를 포함해야하므로 예를 들어 12345!@#$%^&*()실격 처리됩니다
  • 사용 된 언어가 Turing-complete가 아닌 경우 + 750 % (HTML을보고 있습니다)
  • 솔루션이 어떤 형태로든 소스를 읽지 않으면 -15 %
  • 5 번째 캐릭터 만 유지할 수 있고 여전히 퀴니를 형성 할 수 있다면 -20 %

점수는 첫 번째 프로그램의 문자 수로 측정됩니다.

예 (실제 프로그램 아님) :

경우 123456789abcdef13579bdf모두 quines 인 경우, 점수가, 또한 15입니다 159d또한 quine입니다 후 최종 점수는 12입니다.

이것은 코드 골프이므로 최저 점수가 이깁니다.


2
@ hosch250 원래 프로그램은 공백을 인쇄하지 않기 때문에 문제가되지 않습니다. 불필요한 코멘트도 마찬가지입니다.
Jwosty

1
예, 나는 전에 quine을 프로그래밍 한 적이 없으며 C ++에서 소스 코드를 읽지 않고 어떻게 해야하는지 전혀 모릅니다. 그래도 C ++에서 본 적이 있습니다!
Hosch250

1
"4 자마다 제거하고 여전히 퀴인을 형성 할 수있는 경우 -20 %"라고 말합니다. 그러나 기술적으로 이것은 귀하의 예에서 발생하는 것이 아닙니다. 다시 할 수 있다는 뜻인가요?
mmumboss

4
보너스는 추가 또는 곱셈입니까? 즉, 내 프로그램의 길이가 10 자이고 -15 % 보너스와 -20 % 보너스를 모두받을 수있는 경우 점수는 10 * (1-0.15-0.2) = 6.5 또는 10 * (1-0.15) *입니다. (1-0.2) = 6.8? 나는 후자를 가정했지만 명확한 설명이 좋을 것입니다.
Ilmari Karonen

1
이것은 단두대가 아닌 만돌린 퀴니가 아닌가? 단두대는 하나를 깨끗하고 일반적으로 치명적이며 잘리고 머리를 굴립니다. 만돌린은 균등 한 간격으로 많은 조각으로 만듭니다. :)
Jonathan Van Matre

답변:


24

PHP, 4 자-15 %-20 % = 2.72 2.6 점

ABCD

예, PHP는 Turing-complete 언어입니다. 아무도 실제 프로그래밍 기능 을 사용해야 한다고 말한 사람은 없습니다 . ;-)

편집 : 보너스가 곱하기가 아니라 부가 적이라는 설명을 바탕으로 점수가 변경되었습니다.


이것은 아마도 ASP에서 작동합니다.
Ismael Miguel

2
@ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ 포기합니다. : P
Jwosty

17
실제로 PHP의 실제 프로그래밍 기능을 사용하지 않는 것이 좋습니다.
Rhymoid

1
이것은 적절한 퀘인이 아닙니다. 그래도 여전히 좋은 대답
MilkyWay90

14

TI 기본 4-35 % = 2.6

나는 그것들을 잘못 이해할 수도 있지만, -15 %와 -20 % 보너스도받을 수 있다고 생각합니다.

프로그램을 작성할 수 있습니다 :

123i

이것은 123i물론 가상 단위 인 곳에 출력 할 것 입니다. 첫 번째와 세 번째 문자를 제거하면 남은 모든 것이 2i출력됩니다.2i


'12i'는 '12i'를 출력하고 '2'는 1.95의 최소 점수로 '2'를 출력합니다.
intx13

실제로 '2i'는 1.3을, 빈 프로그램이 quine으로 간주되면 'i'는 0.65를 얻습니다.
intx13

4
@ intx13 : " 답변은 4 자 이상이어야합니다. "
Ilmari Karonen

아, 나는 그것을 놓쳤다!
intx13

나를 이길;)
Timtech

13

파이썬-95

큰 도전. 나는 이것이 꽤 영리하고 실제로 합법적 인 해결책이라고 생각했습니다!

00;"#";print(open(__file__).read())
0#;XpXrXiXnXtX(XoXpXeXnX(X_X_XfXiXlXeX_X_X)X.XrXeXaXdX(X)X)

1
좋은! 대체 퀴인을 할 때 줄 바꿈을 삭제하기 때문에 기술적으로는 그대로 작동하지 않습니다. 약간의 조정 IOW가 필요합니다
Claudiu

3
@Claudiu 글쎄, OP가 개행 문자를 문자로 간주하는지 여부에 달려 있다고 생각합니다. 그렇다면 각 줄 사이에 줄 바꿈을 추가하면됩니다. 96 자
qwr

물론 줄 바꿈은 ... 문자입니다
mbomb007

11

골프 스크립트, 5 점

{hai}

실행될 때 (존재하지 않는) 기능을 실행하는 기능 hai입니다. 그러나 실행되지는 않지만 프로그램이 종료되면 외부 괄호를 포함하여 인쇄됩니다. 서로 문자를 제거하면 다음과 같은 결과가 나타납니다.

{a}

절름발이 :-)


두 보너스를 모두받을 자격이 있다고 생각합니다. 귀하의 프로그램은 자체 소스 코드를 읽지 않으며 {}퀴네이기도합니다.
Ilmari Karonen

@IlmariKaronen 자신의 소스 코드를 읽는 것으로 계산하는 것이 어렵다. 평가하지 않는 함수는 계산됩니까? 문자열 평가는 중요합니까? 다른 보너스에 관해서는 - 어쩌면 그것은 단지 심하게 모호하게,하지만 나는 (비록 하나 개의 브라켓 날 떠나 것이다, "모든 다섯 번째 문자를 유지"로 "매 4 개 문자를 제거"를 읽어 {ab0}경우 자격을 0유지 년대 하나가 될 수 있습니다)
존 Dvorak

실제로 나쁜 말로 표현되어 있지만이 예에서는 "4 번째 문자마다 유지"를 의미합니다. 어쨌든, 알다시피, {ab0}어느 쪽이든 자격이됩니다.
Ilmari Karonen

그것은 것 {hi}또한 짧은 (4 개 문자)입니다, 작동하고, 모든 보너스를받을 것입니다. (스크립트 가 어떤 이유로 {i평가되는 것 같습니다 {i...)
Claudiu


8

HQ9 +-4 * 7.5 * 0.8 = 24 점

Q+++

두 번째 문자마다 여전히 엉망입니다.

Q+

... 그리고 5 분마다 :

Q

죄송합니다. 저항 할 수 없었습니다. :)


7

HTML / 마크 다운, 4 * 7.5 = 30

HHHH

나는 이것이 절름발이임을 인정하지만 실제로 질문의 규칙에 어긋나는 것은 아닙니다. HTML / Markdown은 실제 프로그래밍 언어로 간주되지 않을 수 있습니다.


더 작게 나눌 수없는 프로그램이 유효하지 않다고 지정하지 않았다고 가정합니다. 도전 수정 ...
Jwosty

@Jwosty : 그러면 HTML의 "HHHH"가 이길 것입니다. 5555알파벳 문자가 없기 때문에 노트 가 작동하지 않습니다
Claudiu

알파벳 문자가 필요합니다.
qwr

@qwr : GolfScript를 볼 때 잊어 버렸습니다. 제거되었습니다.
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

흠 ... 나는이 유효한 : P
Jwosty

5

! / bin / sh

나는 qwr의 솔루션을 너무 좋아 했고 , POSIX 쉘 용 포트를 뻔뻔스럽게 만들었습니다. 공백이 포함 된 파일 이름으로 저장하지 마십시오.

: '#';cat $0

#c a t   $ 0

문자 번호 1에서 제거를 시작하고 개행을 문자로 계산하십시오. 두 번째 quine은 물론 다음과 같습니다.

 #;a 0
cat $0

이 질문 대신 qwr의 답변을 찬성하십시오!


3

배쉬, 23

개행 문자입니다!

지저분한 주석이 작동하므로 첫 번째 문자부터 시작하여 다른 모든 문자가 제거되면 주석이 코드가되고 코드가 주석이됩니다.

#cRaRtR R$R0R R#
cat $0

다른 모든 문자 ( 새 줄 포함 )가 제거 된 후 :

cat $0 #ct$

자체 소스를 읽는다면 퀴네가 아닙니다.
daniero

@daniero "솔루션이 어떤 형식으로도 소스를 읽지 않으면 -15 %" 는 프로그램 소스를 읽을 수 있지만 보너스를받지 못함을 의미합니다.

@daniero 오 나는 위키피디아를 봤는데 그것이 바람 피우고 있다고 생각하지만 ... 코드-골프

나는 항상 고양이를 찬양했습니다!
Antonio Ragagnin

2

Brainf ** k, 37-15 % = 31.45

휴대용 Brainfuck 해석기 남용

+A[B-C<D+E]F-GÿH<I<J<K<L<M<N<O[P.Q>R]

두 번째 문자에서 제거를 시작하십시오.


내가 이것을 실행할 때 B-C<D+E]F-GÿH<I<J<K<L<M<N<O[P.Q>R]출력으로 얻으 므로 일부 문자가 부족합니다.
Sylwester

하나의 통역사에서만 작동하는 것이 Brainfuck 또는 Brainfuck의 특정 방언입니까?
user253751

@immibis 규칙적입니다 (대문자는 공백 또는 기호 또는 기타 문자 일 수 있음). 그러나 답변과 연결된 휴대용 통역사를 사용해야합니다.
Timtech

1
첫 번째 부분은 ÿ를 찾을 때까지 왼쪽으로 가고 링크 된 인터프리터는 데이터 테이프 시작 전에 5000 바이트의 코드를 저장합니다. 휴대하기 어려운 Brainfuck입니다.
user253751

0

HQ9 + T,-4 * 0.8 = 3.2 포인트

qqqq

유효한 quine (ish)이고 매 초와 다섯 번째 문자마다 quine입니다. 나는 저항 할 수 없었다. . . .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.