Liczba automorficzna to liczba będąca sufiksem jej kwadratu w podstawie 10. Jest to sekwencja A003226 w OEIS.
Twoje zadanie:
Napisz program lub funkcję, aby ustalić, czy dane wejściowe są liczbą automorficzną.
Wkład:
Liczba całkowita od 0 do 10 ^ 12 (włącznie), która może, ale nie musi być liczbą automorficzną.
Wynik:
Wartość prawda / fałsz wskazująca, czy dane wejściowe są liczbą automorficzną.
Przykłady:
0 -> truthy
1 -> truthy
2 -> falsy
9376 -> truthy
8212890625 -> truthy
Punktacja:
To jest golf golfowy , najniższy wynik w bajtach wygrywa.
code-golf
number
decision-problem
Gryphon - Przywróć Monikę
źródło
źródło
Odpowiedzi:
Brachylog , 5 bajtów
Wypróbuj online!
Jak to działa
źródło
√a₁?
Dlaczego nie?Python 2 , 24 bajty
Wypróbuj online!
Po raz pierwszy w historii dodawanie
L
do reprodukcji długich Python 2 jest cechą, a nie błędem.Chodzi o to, aby sprawdzić, czy powiedzmy,
76^2=5776
kończy76
się sprawdzeniem, czy76L
jest podłańcuchem5776L
. AbyL
pojawiać się w liczbach niemałych, mnożymy przez wykładnik1L
lub mamy go2L
jako wykładnik, ponieważ operacja arytmetyczna z długim z daje długi.źródło
Python 2 , 31 bajtów
Out-golfed przez xnor ... (dzieje się to za każdym razem)> <Ale hej, to zaskakująco Pythonic dla golfa kodowego .
Ludzie nie pamiętają, że Python ma
str.endswith()
...Wypróbuj online!
źródło
`n*n`
do konwersji liczby na ciąg?05AB1E , 5 bajtów
Wypróbuj online!
źródło
n
jest kwadratowy,.s
jest przyrostkiem,¹
jest wkładem iå
testami członkostwa @isaacgSiatkówka , 44 bajty
Wypróbuj online!
Istnieją dokładnie 4 rozwiązania równania 10-adycznego
x*x = x
.źródło
5*5 != 5
. Można jednak zauważyć pewien wzorzec w liczbach, z którymi się łączysz. 4 rozwiązania to: 0, 1, ... 59918212890625, ... 400817871093766 (liczby p-adyczne idą nieskończenie w lewo ). Liczby, które łączysz, są przyrostkami 4 liczb.Alice , 17 bajtów
Wypróbuj online!
Nie wyprowadza nic (co jest fałszem w trybie porządkowym) lub
Jabberwocky
(które jest niepuste, a zatem prawdziwe w trybie porządkowym; jest to również kanoniczna wartość ciągu prawdziwych ciągów).Wyjaśnienie
Jest to niewielka modyfikacja ogólnej struktury programów liniowych w trybie Ordinal. Środek
/
służy do tego, aby jeden operator w trybie kardynalnym znajdował się pomiędzy (a*
), a następnie musimy#
pominąć go w trybie porządkowym w drodze powrotnej. Program liniowy to:Przejdźmy przez to:
źródło
Mathematica, 31 bajtów
Wypróbuj online! Matematyka drukuje dodatkową wiadomość, ale odpowiedź jest prawidłowa
źródło
Python 2,
37333029 bajtówZaoszczędź 4 bajty dzięki @LeakyNun. Zapisano 3 bajty, zauważając, że wartość wejściowa jest mniejsza niż 10 ^ 12, więc
n
nie kończy się na „L”. Zaoszczędziłem 1 bajt dzięki @Dennis, ponieważ najpierw przeliczyłem się.Wypróbuj online! (Link TIO dzięki uprzejmości @Dennis).
źródło
C (gcc) , 57 bajtów
Na podstawie odpowiedzi @ betseg jest to funkcja, która zwraca 1 lub 0 . Powoduje wyrzucanie śmieci do STDOUT, co jest domyślnie dozwolone .
Wynik zawiera +4 bajty dla flagi kompilatora
-lm
.Wypróbuj online!
źródło
Ruby, 22 bajty
Wypróbuj online!
źródło
C # (.NET Core) , 47 bajtów
Wypróbuj online!
źródło
$"{n}"
nan+""
? A może mógłbyś dodać link TryItOnline ? Aha, to jest fragment kodu, a nie funkcja / program. Więc powinieneś dodaćn=>
przed nim.n+""
. Dzięki!bool f(long n)
odpowiedzi lambda w języku C #, Javie itpn=>$"{BigInteger.Multiply(n,n)}".EndsWith(n+"")
. Nie potrzebujesz ani średnika końcowego ani średnika końcowego . Wystarczy. :) I prawie zapomniałem: Witamy w PPCG!n=>
, za pomocąSystem.Func
.Węgiel drzewny ,
1211 bajtówWypróbuj online!
Zwraca
False
jakofalsey
iTrue
jakotruthy
.Power
funkcję?)źródło
0
do10
,100
...1
na50
,60
...2
na760
,3792
...JavaScript (ES6), 23 bajty
Spróbuj
Napisałem ten fragment kodu na moim telefonie, więc edytuj go, jeśli nie działa poprawnie.
źródło
Galaretka , 6 bajtów
Wypróbuj online!
źródło
Ị
...Kotlin, 36 bajtów
źródło
C, 77 + 4 (
-lm
) = 81 bajtówWypróbuj online!
źródło
n*n
dopow(n,2)
i zaoszczędzić 5 bajtów.R, 28 bajtów
Tworzy funkcję:
Przyjmuje moduł
x^2
taki, że zachowujemy ostatnie cyfry, które porównujemyx
.źródło
Perl 5 , 15 + 1 (-p) = 16 bajtów
Wypróbuj online!
źródło
Galaretka , 7 bajtów
Wypróbuj online!
Liczba dodatnia dla tak, 0 dla nie.
źródło
Retina ,
4733 bajtów14 bajtów dzięki Martinowi Enderowi.
Wypróbuj online!
źródło
$%
...PHP , 41 bajtów
PHP Sandbox Online
PHP , 42 bajty
bez Regex
PHP , 44 bajty
Użyj odległości levenshtein
źródło
Dyvil , 26 bajtów
Stosowanie:
źródło
Partia, 122 bajty
Algorytm jest ograniczony tylko typem liczbowym stosowanym dla zmiennych. W przypadku Batch są to 32-bitowe liczby całkowite ze znakiem, więc maksymalna wartość to 2147483647. Działa poprzez testowanie zarówno n, jak i n-1 pod kątem niezbędnych mocy 2 i 5 jako czynników. (Z wyjątkiem sytuacji, gdy n wynosi 0 lub 1, n i n-1 będą miały po jednym współczynniku.)
źródło
> <> , 30 bajtów
Wypróbuj online lub obejrzyj na placu zabaw dla ryb !
Zakłada, że liczba wejściowa x jest już na stosie.
Objaśnienie: Ryba przyjmuje iloraz x 2 poprzez zwiększenie mocy o 10 i liczy, ile razy równa się to x . Kiedy moc 10 staje się większa niż x , wypisuje licznik i zatrzymuje się. Liczba będzie wynosić 1, jeśli x jest automatyczny, i 0, jeśli nie jest.
źródło
Pari / GP , 23 bajty
Wypróbuj online!
źródło
Pyth ,
109 bajtów-1 bajt dzięki isaacg .
Zwraca 0, gdy liczba jest automatyczna, wszystko inne, jeśli nie jest.
Przetestuj online!
Objaśnienia
źródło
`
jest konwertowany na ciąg.Rexx (Regina) , 48 bajtów
Wypróbuj online!
źródło
Perl 6 , 15 bajtów
Wypróbuj online!
Zwraca prawdziwy obiekt dopasowania dla automatycznych danych wejściowych i fałszywą wartość zero dla innych liczb.
źródło
Clojure, 59 bajtów
To wydaje się zbyt szczegółowe.
źródło
#(.endsWith(str(* % %))(str %))
?MATL , 10 bajtów
Działa to dla liczb do
floor(sqrt(2^53))
, zgodnie zdouble
ograniczeniami dokładności.Dane wyjściowe to liczba dodatnia (co jest zgodne z prawdą), jeśli jest automatyczna, lub pusta (co jest fałszem), jeśli nie.
Wypróbuj online!
Wyjaśnienie
Zabawne, że w tej odpowiedzi wykorzystano dwie przeciążone wersje
U
: z wprowadzeniem ciągu oblicza liczbę, a przy wprowadzaniu liczby oblicza kwadrat.źródło