tło
Liczba 1729 to liczba Hardy-Ramanujana. Niesamowitą właściwość odkrył S. Ramanujan (powszechnie uważany za największego indyjskiego matematyka 1 ), kiedy GH Hardy złożył mu wizytę w szpitalu. Słowami Hardy'ego:
Pamiętam, jak kiedyś go widziałem, kiedy był chory w Putney. Jechałem taksówką numer 1729 i zauważyłem, że numer ten wydaje mi się raczej nudny i mam nadzieję, że nie był to niekorzystny znak. „Nie” - odpowiedział - „jest to bardzo interesująca liczba; jest to najmniejsza liczba wyrażalna jako suma dwóch kostek na dwa różne sposoby”.
Poza tym ma wiele innych niesamowitych właściwości. Jedną z takich właściwości jest to, że jest to liczba Harshada, tj. Suma jej cyfr (1 + 7 + 2 + 9 = 19) jest jej czynnikiem. To także wyjątkowe. Jak pokazał Masahiko Fujiwara, 1729 jest dodatnią liczbą całkowitą, która po zsumowaniu cyfr daje sumę, która pomnożona przez odwrócenie daje pierwotną liczbę:
1 + 7 + 2 + 9 = 19
19 × 91 = 1729
Pozytywnym całkowitą o takiej własności jest to, co określam jako Hardy'ego-Ramanujan- ISH Harshad numer, na potrzeby tego postu. (Może to być termin techniczny, ale nie mogłem go znaleźć, chyba że jest członkiem A110921 )
Zadanie
Biorąc dodatnia n
jako wejście wyjściu truthy lub falsey wartość na podstawie, czy wejście n
jest hardy-Ramanujan- ISH Harshad Number. Wyjście prawda, jeśli tak jest. W przeciwnym razie wyjście falsey.
Należy pamiętać, że tylko cztery Hardy'ego-Ramanujan- ISH Harshad Liczby istnieje ( 1
, 81
, 1458
i 1729
), i można napisać kod, który sprawdza równoważności z nich. Ale nie sądzę, że będzie fajnie.
Wejście
Twój program powinien przyjmować dodatnią liczbę całkowitą (innymi słowy liczbę naturalną). Może to przyjmować w jakikolwiek sposób, z wyjątkiem zakładania, że jest obecny w zmiennej. Odczytywanie z okna modalnego, pola wprowadzania, wiersza poleceń, pliku itp. Jest dozwolone. Przyjmowanie danych wejściowych jako argumentu funkcji jest również dozwolone.
Wynik
Twój program powinien wypisywać prawdziwą lub falsey wartość. Nie muszą być spójne. Twój program może generować dane w jakikolwiek sposób poza zapisywaniem danych wyjściowych w zmiennej. Dozwolone jest zapisywanie na ekranie, wierszu poleceń, pliku itp. Wyjście z funkcją return
jest również dozwolone.
Dodatkowe zasady
Państwo musi nie używać wbudowanego do wykonania zadania (zastanawiam każdy język będzie mieć taki wbudowany, ale potem Mathematica ... )
Przypadki testowe
Input Output
1 Truthy (because 1 × 1 (reverse of 1) = 1)
2 Falsey
3 Falsey
4 Falsey
5 Falsey
81 Truthy (because 9 (8 + 1) × 9 (reverse of 9) = 81)
1458 Truthy (because 18 (1 + 4 + 5 + 8) × 81 (reverse of 18) = 1458)
1729 Truthy (because 19 (1 + 7 + 2 + 9) × 91 (reverse of 19) = 1729)
1730 Falsey
2017 Falsey
Zwycięskie kryterium
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach!
1 Każdego roku, w dniu 22 -go grudnia, urodziny Srinivasa Ramanujan, Narodowy Dzień Matematyka obserwuje się w Indiach. Jego koledzy z Cambridge porównali go do Jacobiego, Eulera, a nawet Newtona. Poza tym, że jest tak świetny, prawie nie miał formalnego wykształcenia w czystej matematyce , ale nadal wniósł istotny wkład w analizę matematyczną , teorię liczb , nieskończone szeregi i ciągłe ułamki . Niestety zmarł w wieku 32 lat, mając na myśli tysiące odkryć matematycznych. Nakręcony został także na nim film oparty na jego biografii ,Człowiek, który wiedział nieskończoność .
Odpowiedzi:
Neim , 5 bajtów
Wyjaśnienie:
Spróbuj!
źródło
ArnoldC, 888 bajtów
Wiem, po prostu sprawdzam równość, ale to nie powinna być fajna część programu.
Miłej lektury. :)
Dodano kilka nowych linii dla łatwiejszej czytelności:
Wypróbuj online
źródło
Montaż x86,
55353331 bajtów:Zakłada ABI, w którym wartość zwracana jest w EAX, a parametry są wypychane na stos ... więc prawie wszystkie z nich.
źródło
Brachylog , 8 bajtów
Wypróbuj online!
źródło
Haskell ,
5655 bajtówWypróbuj online!
Pointfree: (56 bajtów)
Wypróbuj online!
Nudne: (24 bajty)
Wypróbuj online!
źródło
JavaScript ES6,
5957 bajtówWypróbuj online!
Zasadniczo dzieli się na tablicę cyfr, łączy
+
i sprawdza to wyrażenie, aby w zasadzie sumować cyfry.string*string
automatycznie zamieni ciągi znaków na ints. Pobiera dane wejściowe jako ciągźródło
Mathematica, 42 bajty
źródło
Ruby, 69 bajtów
Pierwsza próba, z liczbą całkowitą jako wejściem:
Druga próba, z ciągiem wejściowym:
źródło
.split('')
można zrobić.chars
Partia, 164 bajty
Drukuje 1 w przypadku powodzenia, brak wyjścia w przypadku awarii.
źródło
JavaScript (ES6), 72 bajty
To jest poprawne przesłanie ES6. Dodaj
f=
na początku i wywołaj jakf(arg)
.Fragment testowy:
źródło
Kotlin,
111108 bajtówWypróbuj online!
Jak to jest typowe dla statycznie skompilowanych rozwiązań JVM, wiele bajtów jest traconych na samej deklaracji funkcji głównej i wywołaniu print (). Mięsem tej funkcji jest 60 bajtów, co wcale nie jest złe w przypadku ogólnego języka o typie statycznym, takiego jak Kotlin.
Kotlin, nudne rozwiązanie, 69 bajtów
Wypróbuj online!
źródło
05AB1E , 5 bajtów
Wypróbuj online!
źródło
DSODR*Q
było to, co miałem przed spojrzeniem.D
.Python 2 , 55 bajtów
Wypróbuj online!
Wyjaśnienie
eval()
Rozwiązanie jestnieco2 bajty dłużej ...Alternatywny
(nieprawidłowy?)Rozwiązanie,4229 bajtówTo rozwiązanie sprawdza równość wszystkich liczb.
Wypróbuj online!
źródło
[1,81,1458,1729].__contains__
Cheddar , 60 bajtów
Wypróbuj online!
źródło
NewStack , 16 bajtów
Podział:
Jako przykład podano 1729
Nie drukuje nic, jeśli jest fałszywe, a oryginalne wejście, jeśli jest prawdziwe.
źródło
¹
stos składa się z[1]
. A ponieważ zdefiniowaliśmyf
lubf(x)
zrównaliśmy Twój wkład, pomnożenie każdego elementu na stosie przez funkcjęf
zasadniczo zastępuje1
nasz wkład. (Ponieważ[1] * f(x)
=[f]
)MATL , 11 bajtów
Wypróbuj online!
t
- weź dane wejściowe i skopiuj jeV!U
- podziel go na poszczególne cyfrys
- zsumuj te cyfryt
- zduplikuj tę sumęVP
- zmień to w sznurek, obróć go od lewej do prawejU
- zamień to z powrotem na liczbę*
- pomnóż dwie ostatnie wartości (suma cyfr i jej odwrócona wersja od lewej do prawej)=
- sprawdź, czy jest to równe oryginalnej wartości wejściowej (która jest jedyną inną wartością na stosie)źródło
Japt, 8 bajtów
Uruchom to online
źródło
Galaretka , 8 bajtów
Wypróbuj online!
źródło
DS×Ṛ$Ḍ=
zapisuje bajt.Perl 6 , 30 bajtów
źródło
PHP , 52 bajty
Wypróbuj online!
PHP , 36 bajtów
Wypróbuj online!
źródło
APL (Dyalog) , 18 bajtów
Wypróbuj online!
źródło
Pari / GP ,
5652 bajtówWypróbuj online!
źródło
MathGolf , 5 bajtów
Wypróbuj online!
Prawie to samo, co bajt rozwiązanie bajtu Neima.
źródło