Wyzwanie
Napisz program lub funkcję, która drukuje gwiazdki! Program otrzyma dwa parametry przez standardowe wejście: Rozmiar gwiazdy i liczbę punktów gwiazdy. Gwiazda może mieć dowolny rozmiar od 0 do 10 i mieć 3, 4 lub 5 punktów. Parametry wejściowe są oddzielone przecinkiem, na przykład: 5,3
oznacza gwiazdkę o rozmiarze 5 z 3 punktami. Gwiazdy składają się z gwiazdek*
Weź pod uwagę, że program otrzyma tylko prawidłowe dane wejściowe.
Wydruki muszą być odpowiednio rozmieszczone, abyśmy mogli zobaczyć ładne gwiazdy na wydruku!
Objaśnienia parametrów
Zwrotnica
Jest liczbą ramion liczoną od centralnej gwiazdki.
3 punkty gwiazdek :
*
*
*
* *
* *
Składają się z ramion pionowych i dwóch ramion ukośnych. Odstęp między ramionami ukośnymi wynosi2*size-1
4 punkty gwiazdek
* *
* *
*
* *
* *
Mają postać X i składają się z dwóch ukośnych linii. Separacja między liniami jest2*(size-1)+1
5 punktów gwiazdek
*
*
* * * * *
* *
* *
Składają się z linii pionowej i linii poziomej. Każda gwiazdka w linii poziomej jest oddzielona jedną spacją. Mają też dwie ukośne linie, z odstępem między sobą2*(size-2)+1
Rozmiar
Rozmiar to liczba gwiazdek, które mają każde ramię gwiazdy licząc od centralnej gwiazdki (włącznie).
Gwiazdy o rozmiarze 1 składają się z jednej gwiazdki
*
Przykłady rozmiaru 2 gwiazdek
3 punkty
*
*
* *
4 punkty gwiazdek
* *
*
* *
5 punktów gwiazdek
*
* * *
* *
W opisie parametru Punkty masz przykłady gwiazd o rozmiarze 3.
Kryteria wygranej
Najkrótszy kod wygrywa. Kod należy sprawdzić przy użyciu następujących parametrów wejściowych:3,2
3,3
4,2
4,3
5,2
5,3
Premia
-25% znaków liczy się do utworzenia rozmiaru 6 wskazanego wcześniej kryteriami (6 ramion, a rozmiar to liczba gwiazdek liczona od centralnej gwiazdki). Może to być dowolna forma, zgodna ze specyfikacjami. Przykład gwiazdy o rozmiarze 6 i rozmiarze 3:
*
*
* * * * *
* * *
* * *
Gwiazdki 6 punktów należy sprawdzić przy pomocy następujących danych wejściowych 6,2
6,3
.
Odpowiedzi:
Mathematica
80 7667 znakówNiektórzy kwestionują, czy to sztuka ASCII, ale nie mogłem się oprzeć.
Zastosowanie (ustawienie rozmiaru czcionki na 24, aby gwiazdy wyglądały na duże).
Dane wyjściowe dla następujących przypadków:
{{3, 2}, {3, 3}, {4, 2}, {4, 3},
{5, 2}, {5, 3}, {6, 2}, {6, 3},
{7, 4}, {8, 3}, {9, 2}, {12, 4}}
Jak to działa
(a) Pierwsza gwiazda znajduje się na początku współrzędnej. Pokażmy to.
(b) Następnie wyświetlimy punkt w {1,0}.
(c) Następnie 5 punktów jednocześnie. Zastosowaliśmy czystą funkcję do każdej pary współrzędnych po niej.
(d) Użyj Cos i Sin, aby określić współrzędne
(e) Współrzędne działają tylko na okręgu jednostkowym; 6 to liczba wiązek światła.
(f) Narysuj promienie od 0 do 4 jednostek.
źródło
Ruby, ASCII, wynik
193142 (189 znaków - 25% bonusu)Przetestuj online
Myślę, że kwalifikuje się do premii za 6 promieni.
źródło
Mathematica ,
6564Moje podejście do metody Davida:
Posługiwać się:
Błędy powstają z powodu użycia
=
zamiast:=
, i nie jest to właściwy sposób na zdefiniowanie definicji, ale tutaj działa.Gdyby wolno było używać kropek zamiast gwiazdek, można by to zapisać (52 znaki):
źródło
źródło