Napisz funkcję matematyczną, która spowoduje całkowitą reprezentację „hello world”
Na przykład „witaj świecie” w kodzie szesnastkowym jest 68656c6c6f20776f726c64
więc celem będzie napisanie programu matematycznego, którego wynikiem będzie liczba reprezentująca „witaj świecie”.
Oto przykład możliwego rozwiązania wykorzystującego Python:
print(2*2*3*59*61*97*416510539*72330832279)==int("68656c6c6f20776f726c64", 16)
Można użyć dowolnego rodzaju równań matematycznych, takich jak: potęgi, szeregi, silnia i inne operacje matematyczne.
Zasady:
Możesz wybrać własny sposób kodowania / reprezentowania „hello world” jako liczby całkowitej. Funkcje skrótu są również dozwolone
Biblioteki matematyczne (np. Numpy, GMP) są dozwolone.
Celem jest skupienie się na części matematycznej
math
popularity-contest
Kyle K.
źródło
źródło
Odpowiedzi:
Python 2.7
Pewne nadużycie generatora liczb losowych działa w Pythonie 2.7, ale nie w Pythonie 3.x, ponieważ wydaje się, że generator zmienił algorytm inicjujący;
źródło
Zrobię coś lepszego niż tylko wydrukowanie, wydrukuję go nieskończenie wiele razy!
Liczba wymierna
zwraca następujące rozszerzenie base-36:
Wypróbuj to! (Wolfram Alpha)
Lub, jeśli chcesz uzyskać bardziej podprogową wiadomość, spróbuj:
Który zwraca (ponownie w bazie 36):
Jeśli twój program działał tylko z liczbami całkowitymi, nigdy nie zobaczysz części ułamkowej.
źródło
Python
(jeszcze nie ukończony ... jeszcze!)Zakończony! :REWyjścia
126207244316550804821666916
(równoważne z twoim przykładem0x68656c6c6f20776f726c64
)źródło
No więc...
PHP
gdzie 1 oznacza „witaj świecie”, ponieważ tak powiedziałem.
źródło
10
w bazie - „witaj świecie”Kalkulator Czcionki / FreePascal
Mogę mieć kłopoty z opublikowaniem tego, ale i tak to zrobię :-)
Jeśli to jest zbyt leniwe, co powiesz na to:
kółka ponumerowane 0-5, kolor określony abs (2n-1). Jedna cyfra szesnastkowa na koło, kwadraty zabarwione od najbardziej znaczącego bitu w dół, zgodnie z ruchem wskazówek zegara od dołu po prawej. Według stałych mistycznych 967EEF i EDF7E9 hex.
Specjalne podziękowania dla następującego prymitywu i dla Borlanda za umieszczenie go w TurboPascal, aby FreePascal mógł go sklonować.
Procedura Sektor (x: SmallInt; y: SmallInt; StAngle: Word; EndAngle: Word; XRadius: Word; YRadius: Word); Sektor rysuje i wypełnia sektor elipsy środkiem (X, Y) i promieniami XRadius i YRadius, zaczynając od kąta Początek, a kończąc na kącie Stop.
źródło
Ruby i Python
Używając matematyki base 36, dość łatwo osiągamy reprezentację liczb całkowitych w Ruby & Python:
Rubin
wynik:
lub, wyrażone jako funkcja ogólna:
przykład:
Pyton
przykład:
źródło
Niektóre starannie wykonane PHP:
źródło
Schemat R6RS
Wyjścia # x68656c6c6f20776f726c64 (w systemie dziesiętnym):
Moja oryginalna implementacja to:
Rakieta (dialekt schematu)
źródło
JavaScript
Co się dzieje?
Bierzemy ten ciąg i stosujemy trochę
stringTheory()
(to właściwie transmisja z przyszłości):'\2 Yo it\'s 4327 - Go to space, look back, and see the dot of a small blue rock you once sat on amid the vast empty void - KA-BOOM - you are in awe of it. "Ah" - so tiny in this vast space yet you are even more so. A mere atom in an ocean of stars, the earth a speck of dust to the sun\'s ping-pong ball. One day you shall go back and as your toes touch the soft soil once more, the cool wind in your hair as you cast your gaze upon the moon, a mere rock just like this one, and bask in it\'s warm glow - Ah. Only then can you know the scale of it all, what luck you have to call this place home. And with this new ken, a love you\'ve kept for all of time but had not seen - for it is clear to you now. You lay open your arms and fill the air with your song - (aah) ~o Good-bye space and ... o? \3'
Najpierw podzieliliśmy go na znak interpunkcyjny, tworząc słowa. Następnie tworzymy zestaw liczb, konwertując znaki na ich dziesiętny kod ASCII. Przylegające litery stają się przyległymi cyframi (np.
aa
Staje się9797
. ).Liczby są następnie sumowane. To, co otrzymujemy, jest
191212222216169
całkowicie bezużyteczną liczbą, nie ma znaczenia, podobnie jak kwadryliony skał, które bezczynnie unoszą się w przestrzeni. Co czyni ten świat wyjątkowym? Dlaczego to jest życie. Więc nadając tej liczbie sens życia+=42
, otrzymujemy191212222216211
;Ale dlaczego?
Co to znaczy? Dlaczego to
stringTheory("Hello world")
oczywiście znaczy .źródło
Pyton
źródło
Rubin
Każdy ciąg jest mapowany na liczbę całkowitą.
Funkcja odwrotna:
Przykłady:
źródło
DO#
Metoda konwersji dowolnego ciągu znaków (hello world lub coś innego) na ciąg szesnastkowy
Metoda konwersji ciągu szesnastkowego na ciąg znaków
Oto kompletny program C #
A oto wynik.
źródło
Pyton
Rekurencyjnie rozkłada liczbę docelową na sumy co najwyżej czterech kwadratów. Mój podstawowy przypadek to <100. Użyłem http://www.alpertron.com.ar/FSQUARES.HTM do obliczenia rozkładu.
(Być może podstawowy przypadek <= 1 byłby interesujący ...)
źródło
Pyton
Wynik naprawdę jest liczbą, przysięgam!
źródło
Tylko trochę zabawy z cyframi, nic specjalnego.
próbny
źródło
źródło