Powrót do podstaw ...
Jako nauczyciel w lokalnej szkole podstawowej (klasie?) Potrzebujesz sposobu, aby nauczyć klasę ich harmonogramów. Do Twojej dyspozycji masz sto kwadratów i mnóstwo czerwonych długopisów. Musisz także być w stanie szybko pokazać swojej klasie prawidłowe odpowiedzi.
Teraz jesteś wystarczająco sprytny, aby napisać program, który potrafi tworzyć tabele czasów, ale czy możesz narysować je na sto kwadratach?
Wyzwanie
Wyjmij sto kwadratów na standardowe lub równoważne za pomocą kodów ucieczki ansi, aby przyciemnić liczby, które są wielokrotnościami danych wejściowych.
- Wyjmij siatkę 10x10 zawierającą liczby 1-100.
- Dopasowanie liczby 2 cyfr w każdym polu nie ma znaczenia, o ile jest ono spójne
- W przypadku liczb 1-cyfrowych możesz wpisać 2 cyfry i zastosować to samo formatowanie, co liczby 2-cyfrowe lub wyśrodkowane na środku pola.
- Jeśli liczba w polu jest wielokrotnością wartości wejściowej, pokoloruj całą ramkę na czerwono.
- Oznacza to całe pole, a nie tylko część liczbową
Na przykład, biorąc pod uwagę dane wejściowe 3
, wydrukuj podane sto kwadratów
To jest golf golfowy, więc wygrywa najkrótsza odpowiedź w bajtach!
code-golf
arithmetic
grid
niebieski
źródło
źródło
<table>
na przykład użyć ?white
albogrey
?curses
nie powinno mieć znaczenia - czerwony i tak jest krótki.Odpowiedzi:
Python 2, 166 bajtów
Zamień
♥
na ósemkowy033
(znak zmiany znaczenia ANSI).Wyjaśnienie
Dane wyjściowe traktujemy jak
41×21
siatkę i bezpośrednio obliczamy charakter i kolor w każdym punkcie.Oznacza to, że struktura kodu jest następująca:
dla niektórych funkcji
F
.Wynik
F
jest zawsze w następującej formie:Używamy ciągu formatu
'\33[%dm%s\33[m'
, gdzie pierwszy%d
to 0 lub 41, a%s
jest to znak, który chcemy wydrukować.Dla koloru mamy następującą formułę:
Nie zamierzam tego w pełni wyjaśnić, ale w zasadzie zapętla się nad wszystkimi prostokątami, które powinny być zabarwione na czerwono, i sprawdza, czy
(x, y)
jest w którymkolwiek z nich.Zwróć uwagę na użycie łańcucha operatora: przepisałem
-1<A<5 and -1<B<3
na5>A>-1<B<3
.Dla postaci mamy następującą formułę:
Jeśli
y % 2 == 0
następnie nax = 0, 1, …
ten wygeneruje+---+---+---…
Jeśli
y % 2 == 1
następnie nax = 0, 1, …
ten wygeneruje| p |p+1|p+2…
źródło
Julia,
219182169167 bajtówUżywany w ten sposób:
!7
Nie golfowany:
Zauważ, że jest to bardzo wolne pole golfowe, dla maksymalnej czytelności.
źródło
HTML + JavaScript, 379
HTML:
JavaScript:
jsfiddle.
źródło