W duchu Witaj świecie! bez powtórzeń
Napisz program, który wypisze ciąg „szybki brązowy lis przeskakuje nad leniwym psem” z opcjonalnym znakiem nowej linii. Cały program nie może powtarzać żadnych znaków.
Zauważ, że łańcuch zostanie wydrukowany robi powtarzania znaków, więc trzeba będzie obejść to ograniczenie jakoś.
Pamiętaj, że warunkiem wygranej jest konkurs popularności , tzn . Wygrana jest odpowiedź o najwyższym głosowaniu .
Aktualizacja: Aby to trochę ułatwić, powtórzenie jest dozwolone, ale musisz spróbować go zminimalizować. Programy z mniejszą liczbą powtórzeń (lub bez) mają pierwszeństwo przed programami z pewną liczbą powtórzeń.
popularity-contest
Manishearth
źródło
źródło
Hello world!
bez powtórzeń było na tyle trudne, że ludzie musieli uciekać się do bardzo niszowych języków lub zupełnie nie mogli całkowicie rozwiązać zadania, a ten jest znacznie trudniejszy.Odpowiedzi:
Microsoft Word od 97 do 2003 (i niektóre wersje Mac Word) - 10 znaków
Bez powtórzeń, ale nie do końca pasuje do specyfikacji - 10 znaków:
Wynik:
Odpowiada specyfikacjom innym niż wielkie litery i interpunkcja, jedno powtórzenie - 10 znaków:
Wynik:
Nowsze wersje Microsoft Word używają
=rand.old(1,1)
duplikatówd
i1
.Może być sposób na użycie pola
{=SUM(3,-2)}
jako danych wejściowych dla rand (), ale moja instalacja ma problemy z polami - a mianowicie nie działają ...„Bob” potwierdził, że
{=SUM(3,-2)}
(z pewnym trudem) można go zastąpić pierwszym1
, ale=
powtarza się ...Pod warunkiem, że
SUM
najpierw zaktualizujesz program Word , wynikiem będzie:źródło
=rand.old(1,1)
. Podejrzewam, że próbujesz użyć 3-2, aby zastąpić pierwszą 1, ale wydaje się, że nie działa to dla mnie w 2010 z rand.old lub rand.{ ... }
jako ograniczników, ale jestem pewien, że wyrażeń można użyć w dowolnej funkcji. Jeśli nie, dokonam korekty!{=SUM(3,-2)}
prace w programie Word 2007. Ale metoda jest nieco skomplikowana. Najpierw musisz wstawić kod pola (Ctrl + F9). Następnie kliknij prawym przyciskiem myszy => pole edycyjne => formuła => zaawansowane => wpisz formułę. Ponieważ wpisywanie go bezpośrednio nie działa z jakiegokolwiek powodu. Teraz kliknij pole i oceń za pomocą Shift + F9. I dodaj=rand.old()
=SUM
, czy może po prostu bezpośrednie użycie operatorów arytmetycznych3-2
?=rand()
, np.=rand(3-2,1)
byłoby idealne. Właściwie nie próbowałem=rand({=3-2},1)
, ale powinno to działać w ten sam sposób, z powielaniem=
.Sclipting - 36 znaków
(oczekuje pustych danych wejściowych)
Wyjaśnienie:
Wynikiem jest lista
["the quick brown ", "fo", "x", " jumps ove", "r the lazy dog", ""]
, która jest automatycznie łączona w pojedynczy ciąg wyjściowy.źródło
Perl 6 (76 znaków, bez dublowania)
Skrypt (zostanie zmieniony przez oprogramowanie płytki, ale jest En Space do Thin Space oraz NL, LF i tab)
<foo bar>
cytuje słowa, które obsługują wszystkie specjalne znaki spacji jako separatory słów.say
dołącza do listy ciągów za pomocą spacji, ładnie tu działa :)~&
i 127 do bitowania losowego na zwykły ascii. Dodatkowa komplikacja:'Ŭ'.lc
staje się'ŭ'
taka, że staje sięs
zamiastr
potrzebnej. Dodanie 128 dodatkowych czasów pomaga :)Wersja z ukośnikiem odwrotnym zamiast znaków Unicode pokazuje, że wszystkie są różne
Jeśli chcesz sprawdzić, czy wszystkie są unikalne, skorzystaj z tego skryptu (zwykłem
Qb"string"
cytować tylko znaki specjalne z odwrotnym ukośnikiem)Lub uruchom go bezpośrednio za pomocą
źródło
PHP - 67 bajtów
Kopiuj-wklej, zapisz jako Latin-1 (Ansi).
Jest to 7-bajtowy szyfr xor, wykorzystujący ciąg znaków
¶¥€¼½ˆ•
dla soli.Jeden powtórzony znak:
$
.źródło
<?=
ponieważ już używasz krótkich tagóweval('Return$g=binary;')
jakiejś tajemniczej formy (być może bitowej inwersji), aby uniknąć$
powtórzeń, a wtedy też=
zostaną uwolnione.;
można zastąpić zamykającym tagiem: czy też tego nie należy liczyć? Krótko mówiąc, nie zgadzam się. Jeśli kod nie działa tak, jak jest, nie jest to kompletny program.Haskell, 71 znaków
Kolejne 7-bitowe rozwiązanie modulo.
Powtarzające się postacie:
Po raz pierwszy gra w golfa z Haskell; każdy, kto ma większe doświadczenie w tym języku, może go poprawić. Chciałem, aby funkcja anonimowa była bezcelowa, aby uniknąć konieczności dwukrotnego wymieniania zmiennej, ale nie wiem, czy byłaby to korzyść netto.
źródło
JS, 35
(tak ... podwójny cytat się powtarza. Wynik jest zły. To jeszcze nie jest poważna odpowiedź.)
źródło
Skrypt wsadowy: 7 bajtów
Jeśli skrypt ma nazwę hello.bat, wpisz go w wierszu polecenia:
źródło