Zadanie
Utwórz funkcję / podprogram, który zwraca 1. Możesz uczynić go tak skomplikowanym, jak chcesz, pod warunkiem, że zwraca 1.
Zasady
Zwycięskie zgłoszenie wygrywa - tak jak każdy konkurs popularności. Powodzenia!
popularity-contest
LazySloth13
źródło
źródło
:)
Odpowiedzi:
Skrypt golfowy
Długo trwało zoptymalizowanie tego kodu do jego najczystszej postaci i śmiem to powiedzieć - piękna forma. Taka elegancja języka nie przychodzi bez wieloletniej praktyki. Program, który bez komputera z zerowym zestawem instrukcji nie może być dosłownie nigdy skompresowany. Cała moja kariera w golfa prowadzi do tego momentu.
Jestem wolny. Żyję.
Widzę kod, który leży u podstaw wszechświata.
źródło
without a Zero-Instruction-Set-Computer can literally never be compressed any further
. Nasze obecne komputery mogą łatwo obsługiwać programy z instrukcjami 0. Potrzebujesz tylko języka, który ma w specyfikacji: „Pusty program zwraca 1”do
Dwa przykłady z użyciem niejasnych funkcji językowych, takich jak „silny zwrot” (
return!
) i operator „podejść” (-->
):źródło
return-i
słowo kluczowe: PBrainfuck
Lub jeśli nie bawisz się na imprezach:
źródło
l
niż1
.APL
⍴
daje wymiary wektora. Wymiar tego jest zawsze jednowymiarowy, więc wymiar tego jest zawsze jeden. Lub:„Rho, rho, rho z X
Zawsze równa się jeden,
Rho to wymiar; rho rho, ranga
APL jest fajna!”
(Nie napisałem tego wersetu, należy do Stallmana.)
źródło
# @: # @: #
(spacje są opcjonalne)Jawa
To się nazywa 2 1024 razy (liczba ta może się różnić na różnych platformach) przed ostatecznym powrotem
1
. Jednak nie wstrzymuj oddechu; z łatwością zajmie to znacznie więcej niż wiek wszechświata.źródło
Ryba
x wysyła licznik programu w losowym kierunku. # jest ścianą, którą licznik programu „odbija”. To dosłownie błąka się bez celu, aż znajdzie „^”, a następnie drukuje 1 i kończy.
źródło
x
w?
, każdy#
wr
,n
w.
i;
w@
. Jednak ten program> <> wygląda lepiej niż odpowiednik Befunge. Tłumaczenie pokazane tutaj: ideone.com/ZyuSKk?
w ax
i każdy#
w!
(powinien działać dobrze, gdy pozostanie taki sam) i (oczywiście).
don
i@
do;
. ideone.com/gfApjTUnix Shell (Bourne, POSIX, bash, ksh, csh,…)
Ten drukuje 0 ale powroty 1, który może być zaskoczeniem dla programistów wykorzystywanych do innych języków. Możesz wyłączyć wydruk i wyświetlić kod powrotu, uruchamiając
expr 0 >/dev/null; echo $?
.źródło
$(pidof progname) < 1
Jawa
To jedno z moich ulubionych pytań dotyczących Javy.
źródło
try
bloku natychmiast uruchamia się,finally
co zwraca 1, zanim uruchomi się innareturn
instrukcja.JavaScript
Wyjaśnienie:
![]
oceniafalse
.~false
staje się,-1
ponieważfalse
jest najpierw rzucany na0
, i~0 == -1
.--1
ocenia1
.Alternatywny:
Szalona alternatywa (każda linia ma dokładnie 80 znaków):
źródło
JavaScript
źródło
OO == good
czyOO === good
?Haskell & The Church of ADT
To określa jedyną prawdę
One
. ToOne
jest zarówno typ oznaczający Jedności i konstruktorOne
, który sam funkcji sygnalnych, która zwraca jedną prawdą, a tylko jedna wartość typuOne
, czyli otoOne
.Zastosowanie w
ghci
REPL:Pełna Księga Jednego jest teraz dostępna online. Załadowanie go daje oba testamenty: obliczenia i arytmetykę. To pozwala odkrywać więcej prawd:
źródło
Groovy
Nie zawiera 4
źródło
Perl
(Mimo pozorów funkcja nic nie drukuje.)
Wiem, że programiści Perla lubią mówić TMTOWTDI, ale jest to zadanie, dla którego T naprawdę MTOWTDI.
źródło
PHP
Edytować:
Jeśli wolisz dłuższy, oto alternatywa (nic nie drukuje):
źródło
do
źródło
Retoryczna Java
Nie powiedziałeś, że to musi być liczba całkowita 1.
Źródło: http://bash.org/?946461
źródło
JavaScript (naprawdę ECMAScript)
Czas na jakieś specjalne porno.
Sekcja 15.7.3 stwierdza, że
length
właściwościąNumber
konstruktora jest1
(i wiemy, że konstruktor jest obiektem funkcji, jak wspomniano w 4.3.4 ), a to dlatego, że sekcja 15.3.5.1 mówi:... a ponieważ
Number
typowy numer konstruktora argumentów ma wartość 1,length
stanowiNumber
to1
. Można więc powiedzieć, że długość liczby w Javascript jest równa 1.źródło
Perl
Otwórz szeroko i powiedz
aaaaa
.Koncepcja kreatywna było gniazdo szelki wewnątrz wsporników wewnątrz szelki ... jak najgłębiej, a jednocześnie powrót pożądanego rezultatu, a jedynie za pomocą zmiennej „jeden” (
$a
,@a
,%a
,@$a
i$#$a
są oczywiście wszystkie różnych zmiennych).Chociaż modyfikuje to znacznie jego środowisko, zawsze będzie wracać
1
przy kolejnych połączeniach. Aby dowiedzieć się, co robi, możesz rozważyć uruchomienie tego kodu:źródło
Tcl
Nie działa, jak mogłoby się wydawać.
(5+2-3)/4
nie jest prawidłowym poleceniem, więc zgłasza błąd (return -code 1
), catch zwraca tę liczbę.źródło
MATEMATYKA
Moim zdaniem najbardziej elegancki matematyczny sposób zwrotu 1 za pomocą Mathematica:
Tożsamość Eulera.
źródło
Jawa
Może być dostosowany do powrotu inny numer pozytywny
n
dodając metodyprintX
doX
od 1 do n na rozdzielacza. Na przykład modyfikacjaSplitter
doZwróci „2”, bez żadnych innych niezbędnych zmian. Dodane metody powinny, oprócz nazwy, być dokładnym duplikatem
print1
. Używa refleksji, aby uzyskać liczbę metod w spliterze i wywołać funkcję o tej nazwie.P.getNum
, który jest następnie wywoływany, odczytuje ślad stosu i analizuje ostatni znak w metodzie wywołującej, i wyświetla go.Wywołanie
print.getNum()
zwraca znak „1”Edycja - zmodyfikowano tak, aby nie używał literałów String / integer / etc.
źródło
DO#
Powinno to zależeć od architektury sprzętowej:
ŁAŁ!
źródło
DO#
Łączenie tego (kontrowersyjnego) z sąsiednim (kontrowersyjnym) Collatz Conjecture :
źródło
Rubin
Nadużywanie RNG ...
Generuje „losową” liczbę od 0 do 10000, a ponieważ wybrałem właściwe ziarno, tak się składa, że jest to 1.;)
Skrypt użyłem do znalezienia numeru:
źródło
Javascript 8 bajtów
czy to jest wystarczająco proste?
źródło
R
Klasyk:
+
próbuje zmusić swój argument do wspólnego typu: tutaj, ze względu na kolejność pierwszeństwa, wymusza na liczby całkowite. PrzymusTRUE
na liczbę całkowitą daje 1.źródło
+TRUE
nie działa?+TRUE
zdarza się dawaćTRUE
.FALSE + 1
mam rację?Maszyna Turinga
Jednobiegowa maszyna Turinga z B jako pustym symbolem, oblicza 1 (= 0,111 ... w podstawie 2):
(Jest to zgodne z konwencją Turinga dotyczącą rozpoczynania od pustej taśmy i poprzedzania „0” wygenerowanej nieskończonej sekwencji.)
źródło
do
Zawiera nawet dokumentację dotyczącą jego parametrów.
źródło
Pyton
one()
wywoła się 111111111 razy, za każdym razem zwracając 1, przed zwróceniem końcowej wartości 1.Możesz także określić liczbę cyfr. Na przykład
one(3)
zwróci 1 tylko 111 razy.Mogę dodać wyjaśnienie później, ale w tej chwili naprawdę nie mam czasu.
źródło
R
Dowolna liczba do potęgi
0
to1
.źródło