Napisz quine ... z której można usunąć każdą inną postać, nadal będzie to poprawna quine. Możesz określić, czy rozpocząć usuwanie znaków od pierwszego, czy drugiego znaku.
Kryteria punktowania (dodaj premie / odsetki karne razem dla całkowitego procentu):
- Odpowiedzi muszą mieć co najmniej 4 znaki
- Program musi zawierać przynajmniej jeden znak alfabetu w swoim źródle, więc na przykład
12345!@#$%^&*()
jest zdyskwalifikowany - + 750%, jeśli użyty język nie jest kompletny Turinga (patrzę na ciebie, HTML!)
- -15%, jeśli rozwiązanie nie odczytuje źródła z dowolnego miejsca w jakiejkolwiek formie
- -20%, jeśli możesz zatrzymać tylko co 5 postać i nadal tworzyć quine
Wynik mierzony jest liczbą znaków w pierwszym programie.
Przykład (nie rzeczywiste programy):
Jeśli 123456789abcdef
i 13579bdf
oba są quinesami, wynik to 15. Dodatkowo, jeśli 159d
jest również quine, to końcowy wynik to 12.
To jest golf golfowy, więc wygrywa najniższy wynik.
Odpowiedzi:
PHP, 4 znaki - 15% - 20% =
2,722,6 punktuTak, PHP jest kompletnym językiem Turinga. Nikt nie powiedział, że muszę korzystać z jego faktycznych funkcji programistycznych. ;-)
Edycja: Zmieniono wynik na podstawie wyjaśnienia, że premie są addytywne, a nie mnożące.
źródło
TI BASIC 4 - 35% = 2,6
Mogę je źle zrozumieć, ale myślę, że kwalifikuję się również do premii -15% i -20%, co oznacza, że mam najniższy możliwy wynik.
Mogę napisać program:
który wyświetli,
123i
gdzie i jest oczywiście jednostką urojoną. Po usunięciu pierwszego i trzeciego znaku pozostaje tylko to,2i
które wyjście2i
źródło
Python - 95
Wielkie wyzwanie. Myślałem, że to całkiem sprytne i właściwie legalne rozwiązanie!
źródło
Golfscript, 5 punktów
jest funkcją, która po uruchomieniu uruchomi (nieistniejącą) funkcję
hai
. Nie jest on jednak wykonywany, ale drukowany po zakończeniu programu - łącznie z zewnętrznymi nawiasami. Usunięcie siebie nawzajem daje:Kulawy, wiem :-)
źródło
{}
jest quine.{ab0}
kwalifikuje się, jeśli to0
może być ten, który jest zachowany){ab0}
kwalifikuje się w obu kierunkach.{hi}
również, że działa, będzie krótszy (4 znaki), a także zakwalifikuje się do wszystkich bonusów. (Wygląda na to, że skrypt{i
ocenia z{i
jakiegoś powodu ...){i
produkuje dla mnie dodatkowe zamknięcieHQ9 + - 4 * 7,5 * 0,8 = 24 punkty
Nadal quine z każdą drugą postacią:
... i co piąty:
Przepraszam, nie mogłem się oprzeć. :)
źródło
HTML / Markdown, 4 * 7,5 = 30
Przyznaję, że to kiepskie, ale tak naprawdę nie jest to sprzeczne z żadną regułą w pytaniu. Tyle że HTML / Markdown nie może być uważany za prawdziwy język programowania.
źródło
5555
nie działa, ponieważ nie ma znaków alfabetycznych! / bin / sh
Bardzo podobało mi się rozwiązanie qwr , bezwstydnie stworzyłem port dla powłoki POSIX. Proszę nie zapisywać go w nazwie pliku zawierającej spacje.
Zacznij usuwać od znaku 1 i licz znaki nowej linii jako znaki. Drugi quine to oczywiście:
Proszę głosować za odpowiedzią qwr zamiast tej!
źródło
Bash, 23
Newline jest postacią!
Niektóre niechlujne komentarze działają, więc gdy każdy inny znak zaczynający się od pierwszego jest usuwany, komentarz staje się kodem, a kod staje się komentarzem:
Po usunięciu każdego innego znaku (w tym nowej linii ):
źródło
Brainf ** k, 37-15% = 31,45
Nadużywanie przenośnego tłumacza Brainfuck
Zacznij usuwać z drugiego znaku.
źródło
B-C<D+E]F-GÿH<I<J<K<L<M<N<O[P.Q>R]
jako wyjście, więc brakuje niektórych znaków.HQ9 + T, - 4 * 0,8 = 3,2 punktu
Jest to poprawny quine (ish) i quine co drugi i piąty znak. Nie mogłem się oprzeć. . . .
źródło