Twój szef właśnie wysłał Ci e-mailem listę 12 zadań programistycznych, które musi wykonać jak najszybciej. Zadania są dość proste, ale twój szef, będący młodym potentatem oprogramowania, którego karmią serwisy społecznościowe, nalega, aby twoje rozwiązania były w stanie zmieścić się w jednym tweecie z Twittera .
Oznacza to, że masz tylko 140 bajtów kodu do rozwiązania wszystkich zadań, średnio 11,67 bajtów na zadanie. (Tak, Twitter liczy znaki, ale twój szef specjalnie powiedział bajty.)
Zdajesz sobie sprawę, że nie ma sposobu na rozwiązanie wszystkich 12 zadań w 140 bajtach, ale podejrzewasz, że twój szef nie przetestuje wszystkich twoich rozwiązań. Więc przystępujesz do rozwiązywania jak największej liczby zadań, całkowicie pomijając niektóre z nich. Twoje nastawienie jest takie, że nie ma znaczenia, który podzbiór zadań wykonasz, liczy się tylko to, aby ten podzbiór był jak największy .
Ile zadań możesz wykonać?
Wyzwanie
Napisz do 12 różnych programów, z których każdy dokładnie rozwiązuje jedno z 12 zadań wymienionych poniżej. Łączna suma długości tych programów nie może przekraczać 140 bajtów
Alternatywnie możesz napisać pojedynczy program o długości nieprzekraczającej 140 bajtów, który przyjmuje liczbę całkowitą od 1 do 12 i (najlepiej) przystępuje do rozwiązania odpowiedniego zadania, w razie potrzeby przyjmując więcej danych wejściowych. Nie wszystkie zadania muszą działać, ale tylko te, które liczą się do twojego wyniku. Zadania, które nie działają, mogą zawierać błędy lub wykonywać inne czynności.
W obu przypadkach „program” może w rzeczywistości być funkcją, która przyjmuje dane wejściowe jako argumenty lub monituje je i wypisuje lub zwraca dane wyjściowe. Na przykład możesz napisać 140-bajtową funkcję, która wygląda f(taskNumber, taskInput)
, lub możesz napisać osobne fragmenty kodu dla każdego zadania, niektóre jako funkcje, a niektóre jako pełnoprawne programy.
Inne szczegóły:
Cały kod musi być napisany w tym samym języku.
Jak zwykle, dane wejściowe powinny pochodzić z stdin, wiersza poleceń, argumentu funkcji lub z innego, co jest zwykle używane w twoim języku. Dane wyjściowe są drukowane na standardowe wyjście lub najbliższą alternatywę dla twojego języka lub zwracane odpowiednim typem.
Rozsądna ilość formatowania wejściowego jest w porządku; np. cudzysłowy wokół ciągów lub
\n
zamiast rzeczywistych znaków nowej linii.Dane wyjściowe powinny być dokładnie takie, jak są wymagane, bez zbędnego formatowania ani białych znaków. Wyjątkiem jest opcjonalny pojedynczy znak nowej linii.
Kod działający tylko w środowisku REPL nie stanowi programu ani funkcji.
Nie możesz pisać wielu programów, które rozwiązują wiele zadań. Jest to albo jeden program, który (idealnie) rozwiązuje wszystkie zadania, albo (idealnie) 12 programów, z których każdy rozwiązuje jedno zadanie.
Publikowanie rozwiązania zadania, które nie zostało napisane lub tylko nieznacznie zmodyfikowane, jest niedozwolone bez podania źródła oryginalnego autora, a najlepiej uzyskania pozwolenia. Jeśli twoja odpowiedź składa się przede wszystkim z najkrótszych rozwiązań spośród wszystkich pozostałych odpowiedzi, powinna to być wiki społeczności.
Punktacja
Zgłoszenie, które zakończy większość zadań, jest zwycięzcą. Jeśli dwa zgłoszenia zostaną powiązane, wygrywa ten, który ma najmniej bajtów. Jeśli liczba bajtów jest powiązana, wygrywa wcześniejsze przesłanie. Odpowiedzi wiki społeczności nie mogą wygrać.
Powiedz nam, jakie zadania wykonałeś, a nie tylko ile!
Handicap dla osób niebędących golfistami:
Prawdopodobnie w tym wyzwaniu dominują języki gry w golfa . Wiele języków może mieć problemy z rozwiązaniem nawet jednego lub dwóch zadań w obrębie 140 bajtów. Dlatego możesz przesłać odpowiedź niekonkurencyjną, jeżeli limit wynosi 3 tweety, tj. 420 bajtów. Wszystkie pozostałe zasady pozostają takie same.
Zadania
Zadanie 1 - Czy trzy liczby mogą tworzyć trójkąt?
Weź trzy dodatnie liczby całkowite i wyślij wartość prawdy / fałszu wskazującą, czy trzy linie o tych długościach mogą tworzyć trójkąt . Nie możesz zakładać, że liczby są w określonej kolejności.
Prawdziwe przykłady (jeden na linię):
20 82 63
1 1 1
2 3 4
1 2 2
Przykłady Falsy:
6 4 10
171 5 4
1 1 2
1 2 3
Zadanie 2 - najbliżej miliona
Biorąc pod uwagę ciąg dokładnie 7 cyfr dziesiętnych (0–9), zmień ich kolejność, aby uzyskać liczbę możliwie najbliższą milionowi. To znaczy abs(1000000 - rearrangedNumber)
należy je zminimalizować.
Wydrukuj lub zwróć wynikową liczbę jako liczbę całkowitą, a nie ciąg znaków (więc nie powinno być początkowych zer, chyba że jest to norma dla twojego języka).
np. wejście 9034318
powinno skutkować 984331
(a nie 1033489
).
2893984
powinien zostać 2348899
.
0001000
powinien zostać 1000000
.
0000020
powinien zostać 200000
.
Zadanie 3 - Prosty symulator klawiatury
Weź ciąg małych liter (az), spacji i nawiasów kątowych <>
. Odczytywany od lewej do prawej, ten ciąg reprezentuje klawisze, które były naciskane na standardowej klawiaturze, gdy otwarty był początkowo pusty edytor tekstu. Litery i spacja odpowiadają ich zwykłym klawiszom, ale <
odpowiadają lewemu klawiszowi strzałki i >
prawemu klawiszowi strzałki, które po naciśnięciu przesuwają kursor .
<
przesuwa kursor o jeden znak w lewo lub nic nie robi, jeśli kursor znajduje się na początku ciągu.
>
przesuwa kursor o jeden znak w prawo lub nic nie robi, jeśli kursor znajduje się na końcu ciągu.
Wypisuje ciąg znaków, który byłby w edytorze tekstu po naciśnięciu wszystkich klawiszy ciągu wejściowego. Wyprowadzanie kodów specjalnych w celu przesunięcia kursora jest niedozwolone.
Na wejściu zawsze będzie co najmniej jeden znak bez strzałki.
np. dane wejściowe ui<<q>>ck <<<<<<the<<<<>>> >>>>>>>>brown x<o<f
powinny ustąpić the quick brown fox
.
op<<l>>t<<<lam>>>>>>imi<<<><>>>zer<<<<<<<<<<<<<<<<<<>>><>m
powinien dać llammoptimizer
.
e< <c<b<a
powinien dać abc e
.
<<<>><><<><toast>><<>><><<>><
powinien dać toast
.
Zadanie 4 - FILTHE Letters
W wielu czcionek, 6 z wielkich liter alfabetu angielskiego składają się wyłącznie z linii poziomych i pionowych: E
, F
, H
, I
, L
, i T
. Nazwiemy je literami FILTHE.
Weź ciąg wielkich liter (AZ) i policz liczbę wierszy w literach FILTHE, wyprowadzając wynikową liczbę całkowitą.
E
, F
, H
, I
, L
, I T
mają 4, 3, 3, 3, 2, 2 linie odpowiednio.
np. GEOBITS
ma 4 + 3 + 2 = 9 linii część liter FILTHE (dla .E..IT.
), więc wyjście powinno być 9
.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
powinien wyjść 17
.
ABCDGJKMNOPQRSUVWXYZ
powinien wyjść 0
.
FILTHYLINESINLETTERS
powinien wyjść 39
.
Zadanie 5 - Alex Recursive A.
Nasz moderator Alex A. ma dość tajemniczy inicjał „A”.
Teraz nie jestem pewien, ale myślę, że A.
oznacza .A xelA
. Jestem też całkiem pewien, że .A
tam jest podstępnie Alex A.
.
Tak więc, aby uzyskać pełne imię Alexa, musimy rozwinąć A.
„i .A
”:
Alex A. -> Alex [A.] -> Alex [.A xelA] -> Alex .A xelA -> Alex [.A] xelA -> Alex [Alex A.] xelA -> Alex Alex A. xelA -> etc.
Niech twój program przyjmie nieujemną liczbę całkowitą i rozwinie ją Alex A.
wiele razy, generując wynikowy ciąg.
Więc
0
staje Alex A.
,
1
staje Alex .A xelA
,
2
staje Alex Alex A. xelA
,
3
staje Alex Alex .A xelA xelA
,
4
staje Alex Alex Alex A. xelA xelA
,
5
staje się Alex Alex Alex .A xelA xelA xelA
,
i tak dalej.
(Zrobiłem to, ponieważ czułem się źle, że nieumyślnie zostawiłem Alexa poza moim wyzwaniem modowym .
Zadanie 6 - Obrót klawiaturą numeryczną
Weź liczbę całkowitą od 1 do 9 włącznie (możesz wziąć to jako ciąg). Wyjmij kwadrat 3 × 3 cyfr
789
456
123
obrócone o 90 °, tak aby cyfra wejściowa pojawiła się w dowolnym miejscu w górnym rzędzie. Kiedy 5
jest wprowadzony, każdy obrót jest prawidłowym wyjściem, ponieważ 5
nie można go obrócić do góry.
np. kiedy 3
jest wprowadzane, oba
963
852
741
i
321
654
987
są prawidłowymi danymi wyjściowymi.
Dla wejścia 4
, tylko
147
258
369
jest prawidłowym wyjściem.
Zadanie 7 - Dzielenie cyfr na dziesiątki
Weź niepusty ciąg cyfr dziesiętnych (0–9) i wyślij prawdziwą wartość, jeśli można ją podzielić na ciągłe sekcje, w których wszystkie cyfry w każdej sekcji sumują się dokładnie do 10. Jeśli nie jest to możliwe, wypisz wartość fałszowania.
np. 19306128
mogą być podzielone jak 19|3061|28
, wszystkie sekcje sumujące się do 10 (1 + 9, 3 + 0 + 6 + 1, 2 + 8), więc należy podać prawdziwą wartość.
Prawdziwe przykłady (jeden na linię):
19306128
073
730
0028115111043021333109010
2222255
Przykłady Falsy:
6810410
9218
12341
5222225
000
Zadanie 8 - Zegar kwadratowy
Weź sznurek wielowierszowy o stałej wielkości.
Wyjście, 12
jeśli wejście jest
_ _
| | |
|_ _|
Wyjście, 3
jeśli wejście jest
_ _
| |_|
|_ _|
Wyjście, 6
jeśli wejście jest
_ _
| | |
|_|_|
Wyjście, 9
jeśli wejście jest
_ _
|_| |
|_ _|
Nie ma innych przypadków wprowadzania danych.
Zadanie 9 - Art. Wspornik
Weź w ciąg 4 bajtów zawierających po jednym z każdego z lewej nawiasach (
, [
, {
, i <
w dowolnej kolejności.
Dodaj odpowiednie prawe nawiasy, aby łańcuch miał 8 bajtów i miał pionową linię symetrii. np . [<({
staje się [<({})>]
.
Następnie odwróć każdy nawias w tym ciągu. np . [<({})>]
staje się ]>)}{(<[
.
Wypisz oryginalny 8-bajtowy ciąg nawiasów z odwróconą wersją powyżej i poniżej w osobnych wierszach.
Tak więc końcowy wynik dla danych wejściowych [<({
byłby
]>)}{(<[
[<({})>]
]>)}{(<[
Podobnie wyjście <({[
powinno być
>)}][{(<
<({[]})>
>)}][{(<
Dane wejściowe (<<[
są nieprawidłowe, ponieważ {
brakuje i istnieje dodatkowe <
.
Zadanie 10 - Zepsuć
Weź prostokątną siatkę tekstu (co najmniej 1 × 1) złożoną z .
pustych przestrzeni i X
litych kafelków. Komórki poza granicami siatki są uważane za puste. Możesz założyć, że każdy z 4 rzędów krawędzi siatki i kolumny będą zawierać co najmniej jeden X
.
np. poprawnym wejściem może być:
XXX.....X.....
X..X...X.X....
XXX.....X....X
Wyjście kolejnej prostokątnej siatki tekstu, w którym staje się każda pusta komórka sąsiadująca X
prostopadle lub ukośnie, w tym poza zewnętrzną siatką wejściowąo
. Zasadniczo o
wokół wszystkich porcji pełnych płytek rysowany jest obwódek . Nowa siatka nie powinna być większa niż powinna.
Tak więc wynikiem powyższego przykładu byłoby:
ooooo...ooo.....
oXXXoo.ooXoo....
oXooXo.oXoXo.ooo
oXXXoo.ooXoo.oXo
ooooo...ooo..ooo
Podobnie, wyjście danych wejściowych XXX..X.X
powinno być
oooooooooo
oXXXooXoXo
oooooooooo
i produkcja
oooooooooo.
oXXXooXoXo.
oooooooooo.
byłoby niepoprawne, ponieważ pusta skrajna prawa kolumna nie jest potrzebna.
Można używać 3 różne druku ASCII znaków w miejsce .
, X
i o
.
Zadanie 11 - Plac Sator
Wyjście Sator Kwadrat :
SATOR
AREPO
TENET
OPERA
ROTAS
Każda z liter może być mała lub wielka, więc
SatOR
aRePO
tenet
OPERa
RoTaS
jest również prawidłowym wyjściem.
Brak danych wejściowych.
Zadanie 12 - Prime Tweet
Nie przyjmuj danych wejściowych, ale wypisz 140-bajtowy ciąg znaków ASCII, który zawiera co najmniej jeden z 95 drukowanych znaków ASCII. (Więc 45 znaków będzie duplikatami).
Suma kodów znaków wszystkich 140 bajtów w tym ciągu musi być liczbą pierwszą Sophie Germain , tj. Liczbą pierwszą p
, która 2p+1
również jest liczbą pierwszą. Kod znaków dla spacji to 32, 33 dla !
, 34 dla "
i tak dalej do 126 dla ~
. Suma może być obliczona w Pythonie jako sum(map(ord, myString))
.
Przykładowy wynik to:
! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~d
Suma kodów znaków to liczba pierwsza 12203, której odpowiadająca bezpieczna liczba pierwsza to 24407.
źródło
import
s? Powiedzmy, że piszę 5 funkcji, w których 2 potrzebują tego samego modułu (np.import Math
), Czy jest to liczone dwukrotnie?Odpowiedzi:
Pyth, 9 zadań w 136 bajtach
Zadanie 1: 7 bajtów
Demonstracja
Sortuj w porządku malejącym (
_SQ
), złóż odejmowanie nad nimi (a-b-c
), sprawdź, czy wynik jest ujemny.Zadanie 2: 14 bajtów
Demonstracja
Utwórz wszystkie permutacje łańcuchowe (
.pz
), posortuj je (o
) na podstawie wartości bezwzględnej różnicy (.a-
) między liczbą (sN
) a milionem (^T6
).Weź pierwszy taki ciąg (
h
) i przekonwertuj go na liczbę. (s
).Zadanie 4: 19 bajtów
Demonstracja
Replikuj
"EFHILT"
trzy razy (*3
), usuń trailingLT
(PP
) i dodajE
(+\E
). Odwzoruj każdą literę w danych wejściowych na ich wygląd liczony w tym ciągu. (/L ... z
). Suma. (s
).Zadanie 5: 16 bajtów
Demonstracja
Zaczynając od
"A."
, odwróć i dodaj an"Alex "
do początku, wpisz + 1 razy.Zadanie 7: 13 bajtów
Przekształć ciąg wejściowy na listę liczb jednocyfrowych (
sMz
). Utwórz wszystkie partycje (./
). Zsumuj każdy element każdej partycji (sMM
). Usuń wszystkie 10s z każdej listy podrzędnej (-RT
). Sprawdź, czy to opróżniło którąś z podlist, sprawdzając, czy pusta lista znajduje się na ogólnej liście (}Y
).Zadanie 8: 11 bajtów
Demonstracja
Modulo magia. Konwertuj na liczbę (
CQ
), weź mod 199 (C\Ç
= 199) i weź mod 4. Następnie dodaj 1 i pomnóż przez 3.Zadanie 9: 21 bajtów
Demonstracja
Najpierw generujemy pierwszy wiersz, który składa się z danych wejściowych przetłumaczonych na znaki lustrzane (
Xz"<{[()]}>")
), następnie odwrócone dane wejściowe (+ ... _z
) i zapisujemy je wJ
. Następnie wydrukuj tę linię, jej odwrotność i tę linię ponownie (J_JJ
).Zadanie 11: 22 bajty
Demonstracja
Wystarczy wydrukować ciąg i jego odwrócenie, ale nie powielać centrum
N
.Zadanie 12: 13 bajtów
Demonstracja
Na końcu kodu znajduje się niewidoczny
DEL
(7F
) znak.To drukuje
który ma sumę znaków
11321
. Składa się zG
alfabetu, 193
s i wszystkich drukowalnych znaków ASCII.źródło
CJam,
89 zadań w 140 bajtachPo pierwsze, oto skrypt, za pomocą którego możesz posortować swoje rozwiązania i powiedzieć, które pasują do tweeta:
Po prostu wklej 12 rozwiązań do wejścia, po jednym w każdym wierszu. Uruchom tutaj. Pierwsza kolumna to numer zadania, druga jego rozmiar (w znakach - musisz to naprawić samodzielnie, jeśli różni się od liczby bajtów), trzecia to łączny rozmiar. Programy pasujące do tweeta są oddzielone od reszty linią
===
.Dla mnie wynik wygląda następująco:
Oto zadania, które mogę obecnie zmieścić w tweecie.
Zadanie 1 - Czy trzy liczby mogą tworzyć trójkąt? -
87 bajtówDzięki jimmy23013 za oszczędność 1 bajtu.
Zestaw testowy.
Dane wejściowe powinny być listą w stylu CJam.
Jest to dość proste: sprawdź, czy największa strona jest krótsza niż suma pozostałych dwóch. Lub równoważnie sprawdź, czy najkrótsza strona jest dłuższa niż różnica dwóch pozostałych:
Zadanie 2 - Najbliżej miliona - 15 bajtów
Zestaw testowy.
Prosta brutalna siła:
Zadanie 4 - FILTHE Letters -
2119 bajtówDzięki jimmy23013 za oszczędność 2 bajtów.
Zestaw testowy.
Chodzi o to, aby utworzyć ciąg znaków, który zawiera każdą z liter FILTHE jeden raz dla każdej z ich ortogonalnych linii. Odbywa się to poprzez zabawną manipulację ciągiem znaków:
Zadanie 5 - Alex Recursive A. -
2720 bajtówZestaw testowy.
Wdrożenie podstacji
A.
i.A
bezpośrednio jest zdecydowanie za drogie. Zamiast tego zauważamy, że musimy obsłużyć tylko jedną sprawę, jeśli za każdym razem odwrócimy ciąg. Ponadto dodawanieAlex
(i spacja) za każdym razem jest równoważne rozszerzaniu początkowego. Możemy zapisać kolejny bajt, dodając odwrotność przed odwróceniem łańcucha:Zadanie 7 - Dzielenie cyfr na dziesiątki -
181613 bajtówZestaw testowy. (Z nawiasami wokół każdego wyjścia.)
Niezupełnie przyjazny dla użytkownika: prawdziwa wartość to pojedynczy znak nowej linii, wartość fałsz to pusty ciąg znaków.
Podstawowa idea jest prosta: dodaj cyfry do bieżącej sumy, którą resetujemy za każdym razem, gdy osiągnie dokładnie 10. Suma musi wynosić zero na końcu danych wejściowych. Na początek okazuje się, że jest on krótszy do sumy przy 10 i odejmuje cyfry, resetując sumę za każdym razem, gdy osiągniemy 0. Jednak musimy upewnić się, że nie zwrócimy czegoś prawdziwego, gdy wszystkie dane wejściowe są zerami. Najkrótszym sposobem, jaki to zrobiłem, było zresetowanie sumy do znaku o kodzie 10 (linefeed), a następnie sprawdzenie na końcu, czy rzeczywiście mamy ten znak na stosie, a nie cyfrę 10. To działa, ponieważ zarówno liczba całkowita zero, jak i znak zero (bajt zerowy) są fałszywe:
Zadanie 8 - Zegar kwadratowy - 10 bajtów
Zestaw testowy.
To tylko trochę losowej magii modulo w kodach znaków, która dzieje się z haszowaniem do prawidłowych wartości. Jestem dość przekonany, że możliwe jest coś krótszego, ale jest to najkrótszy czas (programowo) dla tego rodzaju struktury:
Zadanie 9 - Sztuka wspornika -
2322 bajtyDzięki Sp3000 za oszczędność 1 bajtu.
Zestaw testowy.
Dość bezpośredni. Mapowanie między lewym i prawym nawiasami odbywa się przez dodanie 2 (lub 1 w nawiasach):
Zadanie 11 - Plac Sator - 22 bajty
Sprawdź to tutaj.
Prawdopodobnie najbardziej nudne rozwiązanie ze wszystkich. Pcha pierwszą połowę łańcucha, a następnie odwraca ją:
Zadanie 12 - Prime Tweet -
1312 bajtówSprawdź to tutaj. (Z wyjściem diagnostycznym dla wyniku.)
Po
'
tym jest nadruk<DEL>
(0x7F), który SE usuwa. Do wklejania kopii użyj tej wersji:Wydrukowany ciąg to
Oznacza to, że zawiera jeden ciąg wszystkich znaków, a następnie kolejny ciąg od
S
do~
, a następnie jedend
. Suma kodów znaków to 12203. Znalazłem to przez trochę prób i błędów.źródło
q~$~\->
q"FIHEELT"3*H<fe=:+
.e=
te dni.Pyth, 9 zadań w 138 bajtach
Zajęło to sporo czasu.
Myślę, że 9 zadań to limit dla Pytha. Dołączenie następnego najkrótszego programu (Plac Sator) daje 160 bajtów. Gra w golfa 20 bajtów jest mało prawdopodobna. Są 2 lub 3 zadania, które są trochę brzydkie i mogą być skrócone, ale ogólnie jestem całkiem zadowolony z rozwiązań.
Zadanie 1 - Czy trzy liczby tworzą trójkąt ?, 8 bajtów
Wypróbuj online: Regular Input lub Test Suite
Zadanie 2 - Najbliżej miliona, 14 bajtów
Wypróbuj online: Regular Input lub Test Suite
Zadanie 4 - FILTHE Letters, 20 bajtów
Wypróbuj online: Regular Input lub Test Suite
Zadanie 5 - Alex Recursive A., 16 bajtów
Wypróbuj online: Regular Input lub Test Suite
Zadanie 6 - Obrót Numpad, 20 bajtów
Wypróbuj online: Regular Input lub Test Suite
Zadanie 7 - Dzielenie cyfr na dziesiątki, 15 bajtów
Wypróbuj online: Regular Input lub Test Suite
Zadanie 8 - Zegar kwadratowy, 12 bajtów
Wypróbuj online: Regular Input lub Test Suite
Zadanie 9 - Sztuka nawiasów, 20 bajtów
Wypróbuj online: Regular Input lub Test Suite
Zadanie 12 - Prime Tweet, 13 bajtów
Wypróbuj online: Regularne wprowadzanie
źródło
TI-BASIC,
1112 zadań w728830 bajtachZadanie 1 na 7 bajtów
Dane wejściowe to lista w
Ans
.Zadanie 2 na
92110 bajtówMonity o listę cyfr Danewejściowe to ciąg znakówAns
.Zadanie 3 za 119 bajtów
Monituje o ciąg. Zakłada, że C i L są niezdefiniowane lub 0.
Zadanie 4 w 35 bajtach
Dane wejściowe to ciąg znaków
Ans
.Zadanie 5 w 63 bajtach
Dane wejściowe to liczba w
Ans
.Zadanie 6 w 66 bajtach
: 𝑖 ^ ((Ans
<
7) (Ans-3 (Ans>
3: For (Y, ⁻1,1: Disp sum (seq ((5-real (AnsX + Ans𝑖Y)) -3imag (AnsX + Ans𝑖Y)) ₁₀ ^ ( X + 1), X, ⁻1,1: EndDane wejściowe to liczba w
Ans
.Zadanie 7 w
3643 bajtachMonituje o łańcuch
cyfr.Zadanie 8 w 29 bajtach
Dane wejściowe to ciąg znaków
Ans
.Zadanie 9 w 83 bajtach
Dane wejściowe to ciąg znaków
Ans
.Zadanie 10 w 159 bajtach
Używa
X0.
zamiast.Xo
odpowiednio (przepraszam, nic nie pasuje). Monity o wprowadzenie linii po linii. Musisz wprowadzić dwa wierszeX
s, aby zobaczyć wszystkie dane wyjściowe, a następnie 2nd + Quit, aby wyjść.Zadanie 11 w 39 bajtach
Zadanie 12 w 77 bajtach
: Ans + "tvm_I% LinReg (ax + b) DS
<
(getKeyconj (1-PropZTest (dayOfWk (Manual-Fit C / YANOVA (* row) (HorizRegEQUnarchive [J]! # $&
'', .234567890:; =>
? @GBQX\
^) _`qw {|} ~Lub jako hex:
Wejście jest ciągiem zawierającym
"
wAns
.W TI-BASIC jest to faktycznie niemożliwe. Możliwe jest szesnastkowe edytowanie podstawowego programu i użycie pewnych 2-bajtowych tokenów, aby uzyskać wszystkie drukowane znaki ascii w kodzie źródłowym, ale nie o to chodzi. Problem polega na tym, że nie ma sposobu na zapisanie"
znaku w łańcuchu w czystym języku podstawowym na czystym kalkulatorze bez wkładu programu (to samo dotyczy→
znaku, ale nie jest to drukowane ascii). Możliwe jest jednak wprowadzenie"
równania spoza podstawowego, po czym można użyć podstawowego do konwersji równania na ciąg znaków i wyświetlenia tego ciągu. Poza tym na ekranie jest wystarczająca ilość miejsca dla 128 znaków jednocześnie.źródło
Perl, 4 zadania w 117 bajtach
Spróbujmy prawdziwego języka;)
Jeszcze się nie poddałem, może nawet uda się wycisnąć 5 zadań w 140 bajtach, choć mało prawdopodobne!
* Zadanie 1: 30 + 1 = 31 bajtów
Stosowanie:
perl -aM5.010 entry.pl input.txt
* Zadanie 4: 32 + 1 = 33 bajty
Stosowanie:
perl -p entry.pl input.txt
Zadanie 5: 54 bajty
-2b dzięki Dom Hastings
Stosowanie:
echo 4 | perl -M5.010 entry.pl
Zadanie 7: 37 + 2 = 39 bajtów
Stosowanie:
perl -pF entry.pl input.txt
* Zadanie 8: 21 + 2 = 23 bajty
To trochę trudne. Rozpoczęte przez zastąpienie każdego
|
zx
a każda_
zy
przestrzeni następnie zastąpienie produkować unikalny ciąg dwie cyfry dla każdej sieci (yyxxyxxyyx
,yyxxyxxyyxyyxxxxyxyx
,yyxxxxyxyxyyxyxxxyyx
,yyxyxxxyyxyyxxxxyyx
,yyxxxxyyx
). Następnie napisałem program do brutalnego wykorzystywania wartościx
iy
operacji matematycznych, które można wykonać na liczbach wytworzonych po podstawieniu,x
iy
dają wynik 3,6,9,12 dla każdej liczby. W końcux=1
,y=4
a operacja była magia/64%14
.Stosowanie:
perl -0p entry.pl input.txt
Zadanie 11: 34 bajty
Stosowanie:
perl -M5.010 entry.pl
* Zadanie 12: 30 bajtów
Stosowanie:
perl -M5.010 entry.pl
Oświadczenie:
-M5.010
jest uważane za „bezpłatne”źródło
qw(A. .A)[$_%2]
zamiast("A.",".A")[$_%2]
w zadaniu 5, i jestem pewien, że możesz uzyskać kolejne kilka bajtów ...Ruby, 4 zadania w 280 bajtach (niekonkurencyjne)
To tylko próba, będę wykonywać zadania później (i mam nadzieję, że te już istniejące).
Zadanie 1
Zadanie 2
Zadanie 4
Zadanie 5
źródło
TI-BASIC, 12 zadań w 994 bajtach
Pobierz wszystko jako plik grupy TI ( .8xg )
(Dodano tagi spoilera na żądanie).
Zadanie 1 - Czy trzy liczby mogą tworzyć trójkąt? - 7 bajtów
Pobierz jako plik programu TI-83 + ( .8xp )
Zadanie 2 - Najbliżej miliona - 114 bajtów
Pobierz jako plik programu TI-83 + ( .8xp )
Zadanie 3 - Prosty symulator klawiatury -
131127 bajtówPobierz jako plik programu TI-83 + ( .8xp )
Zadanie 4 - FILTHE Letters - 34 bajty
Pobierz jako plik programu TI-83 + ( .8xp )
Zadanie 5 - Alex Recursive A. - 107 bajtów
Pobierz jako plik programu TI-83 + ( .8xp )
Zadanie 6 - Obrót Numpad - 86 bajtów
Pobierz jako plik programu TI-83 + ( .8xp )
Zadanie 7 - Dzielenie cyfr na dziesiątki - 77 bajtów
Pobierz jako plik programu TI-83 + ( .8xp )
Zadanie 8 - Zegar kwadratowy - 35 bajtów
Pobierz jako plik programu TI-83 + ( .8xp )
Zadanie 9 - Sztuka wspornika - 86 bajtów
Pobierz jako plik programu TI-83 + ( .8xp )
Zadanie 10 - Zminimalizuj - 218 bajtów
Pobierz jako plik programu TI-83 + ( .8xp )
Wprowadzono następujące podstawienia:
0
=.
,1
=X
,2
=o
Aby wprowadzić dane (po uruchomieniu programu), wpisz jeden wiersz na raz, naciskając klawisz Enter przy każdym podziale wiersza, aż do wypisania ostatniego wiersza. Następnie naciśnij klawisz Enter, wpisz jedną kropkę, a następnie naciśnij klawisz Enter ponownie, aby przesłać cały ciąg.
Zadanie 11 - Plac Sator - 38 bajtów
Pobierz jako plik programu TI-83 + ( .8xp )
Zadanie 12 - Prime Tweet - 151 bajtów
Pobierz jako plik programu TI-83 + ( .8xp )
Ans
powinien zawierać podwójny cytat, wykonywany przez wpisanie jednego bezpośrednio w\Y1\
edytorze równań i uruchamianieEqu►String(\Y1\,Str1:Str1
z ekranu głównego.Długość wyjściowa wynosi 140. 8 pojawia się dwa razy, a razem z innymi znakami ASCII występuje 45 spacji, z których każdy pojawia się raz. Wynosi to (33 + 34 + ... + 126) + 56 + 32 × 45 = 8969, liczba pierwsza Sophie Germain.
źródło
sin(
jak wyświetlanies
,i
,n
, i(
w zadaniu 12Python 3, 1 zadanie, 268 bajtów, niekonkurencyjny
Próbowałem Zadanie nr 2 w Python 3.5.2. Jestem nowy w golfie i Pythonie
źródło
x=10;print(x)
To pomogłoby niektórym z wciętych sekcji.